https://github.com/electron/electron/tree/main/docs/fiddles/ipc/webview-new-window 主进程监听一个特定事件did-attach-webview,该事件在一个webview被附加到主窗口mainWindow之后触发。在这个事件触发后,主进程会对新附加的webview设置一个窗口打开处理函数(通过setWindowOpenHandler方法)。 这个窗口打开处理函数...
在github上查找Issues发现,渲染进程中的webview添加事件new-window监听,捕获到webview内容打开新窗口的事件,然而并不能阻止electron打开一个新的窗口 官方文档给出的是调用 event.preventDefault() 方法,但是新版本的electron 18.1是没有办法在渲染进程中去阻止这个事件,只能放到主线程中去阻止。 letcontentTemp=null;con...
事件: 'window-all-closed'当所有的窗口都被关闭时触发。如果你没有监听此事件并且所有窗口都关闭了,默认的行为是控制退出程序;但如果你监听了此事件,你可以控制是否退出程序。 如果用户按下了 Cmd + Q,或者开发者调用了 app.quit(),Electron 会首先关闭所有的窗口然后触发 will-quit 事件,在这种情况下 window-...
did-finish-load:导航完成时触发,即选项卡的旋转器将停止旋转,并指派onload事件后。 dom-ready:一个框架中的文本加载完成后触发该事件 page-title-updated:网页标题改变触发 page-favicon-updated:网页前面的小标志触发 new-window:打开新窗口 1. 2. 3. 4. 5. 6. 7. 8. 9....
3、通过在主进程中监听webContents的new-window事件来拦截所有的链接,具体代码: 1 2 3 4 5 6 7 8 const { shell, app } = require('electron'); app.on('web-contents-created', (e, webContents) => { webContents.on('new-window', (event, url) => { ...
渲染进程中使用BrowserWindow创建新窗口,不会被 new-window事件捕捉到 const { BrowserWindow } = require('electron').remote const win = new BrowserWindow() win.loadURL('https://github.com') 渲染进程访问 _remote_ ,主进程需配置enableRemoteModule:true 使用这种方式同样可以打开一个新的窗口,但是主进程...
window.open('https://github.com') 链接 渲染进程中使用**BrowserWindow**创建新窗口,不会被**new-window**事件捕捉到 const{BrowserWindow}=require('electron').remoteconstwin=newBrowserWindow()win.loadURL('https://github.com') *渲染进程访问 **remote**,主进程需配置 *enableRemoteModule...
需要监听一个<webview>的弹窗事件时,有两种方法: document.getElementById('webview1').addEventListener('new-window',(e)=>{console.log(e.url)} 和 document.getElementById('webview1').addEventListener('dom-ready',()=>{constcontents=document.getElementById('webview1').getWebContents();contents.on...
使用new-window监听新窗口创建 // 创建窗口监听 browserWindow.webContents.on('new-window', (event, url, frameName, disposition) => { /** @params {string} disposition * new-window : window.open调用 * background-tab: command+click * foreground-tab: 右键点击新标签打开或点击a标签target _blank打...
解决打开qq授权页面点击页面中的链接会又打开一个窗口的问题 使用webContents 的 new-window 事件 组织默认事件 调用Shell利用默认浏览器打开就行了! 代码语言:javascript 复制 loginWindow.webContents.on('new-window',(event,url)=>{event.preventDefault();shell.openExternal(url);}); ...