1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

replace webview tag to iframe

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman 2020-07-02 15:24:34 +03:00
parent 336daea333
commit 450659e603
4 changed files with 17 additions and 10 deletions

View File

@ -55,7 +55,13 @@ export class WindowManager {
// handle close event
this.mainWindow.on("close", () => {
this.mainWindow = null;
})
});
// open external links in default browser (target=_blank, window.open)
this.mainWindow.webContents.on("new-window", (event, url) => {
event.preventDefault();
shell.openExternal(url);
});
// handle external links
this.mainWindow.webContents.on("will-navigate", (event, link) => {

View File

@ -203,4 +203,9 @@ h1, h2, h3, h4, h5, h6{
height: 100%;
z-index: 100;
display: none;
> iframe {
height: 100%;
border: none;
}
}

View File

@ -92,10 +92,6 @@ export default {
lensLoaded: function() {
console.log("lens loaded")
this.lens.loaded = true;
remote.webContents.fromId(this.lens.webview.getWebContentsId()).on('new-window', (e, url) => {
e.preventDefault()
shell.openExternal(url)
})
this.$store.commit("updateLens", this.lens);
},
// Called only when online state changes
@ -110,9 +106,9 @@ export default {
activateLens: async function() {
console.log("activate lens")
if (!this.lens.webview) {
console.log("create webview")
const webview = document.createElement('webview');
webview.addEventListener('did-finish-load', this.lensLoaded);
console.log("creating webview or iframe")
const webview = document.createElement('iframe');
webview.addEventListener('load', this.lensLoaded);
webview.src = this.cluster.url;
this.lens.webview = webview;
}

View File

@ -3,7 +3,7 @@ import { ClusterInfo } from "../../../../main/cluster"
import { MutationTree, ActionTree, GetterTree } from "vuex"
import { PromiseIpc } from 'electron-promise-ipc'
import { Tracker } from "../../../../common/tracker"
import { remote } from "electron"
import { remote, WebviewTag } from "electron"
import { clusterStore } from "../../../../common/cluster-store"
import { Workspace } from "../../../../common/workspace-store"
@ -13,7 +13,7 @@ const tracker = new Tracker(remote.app);
export interface LensWebview {
id: string;
loaded: boolean;
webview?: any;
webview?: WebviewTag | HTMLIFrameElement;
}
export interface ClusterState {