在github上查找Issues发现,渲染进程中的webview添加事件new-window监听,捕获到webview内容打开新窗口的事件,然而并不能阻止electron打开一个新的窗口 官方文档给出的是调用 event.preventDefault() 方法,但是新版本的electron 18.1是没有办法在渲染进程中去阻止这个事件,只能放到主线程中去阻止。 letcontentTemp=null;con...
渲染进程创建新窗口在之前的文章中出现过绕过安全限制的情况(iframe + window.open) ,但window.open不仅仅是绕过安全限制那么简单,其实在Electron中window.open是可以配置安全策略的,也就是说有可能执行Node.js的 window.open打开的窗口配置的优先级为(向下递减) 在webContents.setWindowOpenHandler中指定的选项。 从父...
渲染进程访问 _remote_ ,主进程需配置enableRemoteModule:true 使用这种方式同样可以打开一个新的窗口,但是主进程的new-window捕捉不到。 应用new-window new-window 控制着窗口新窗口的创建,我们利用这点,可以做到很多事情;比如链接校验、浏览器打开链接等等。默认浏览器打开链接代码如下: ...
window by the preload script declare global { interface Window { // can be named anything, like "electronApi" main: { electronProvider: IContextBridgeImpl; }; } } // initialize the auth provider globally const init = () => { Providers.globalProvider = new ElectronContextBridgeProvider(window...
* new-window : window.open调用 * background-tab: command+click * foreground-tab: 右键点击新标签打开或点击a标签target _blank打开 * / }) 注:关于disposition字段的解释,移步electron文档、electron源码、chrome 源码 扩展**new-window** 经过实验,并不是所有新窗口的建立,new-window都能捕捉到的。
网页生成:https://tool.520101.com/diannao/ico/(opens new window) 命令行生成:使用 sips 和 iconutil 生成 3.2 二进制文件构建 本章节内容是基于 electron-forge 阐述的,不过原理是一样的。 在开发桌面端应用时,会有场景要用到第三方的二进制程序,比如 ffmpeg 这种。在构建二进制程序时,要关注以下两个注意项...
this.instance = new WindowsMain() } return this.instance } } 实现创建窗口方法 newWindow(options: CreateWindowOptions): BrowserWindow { //通过创建窗口模块名称判断是否已经存在,存在就获取焦点,并将数据通过ipc通知到该窗口 if (this.winModulesMap.has(options.module)) { ...
使用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打开 ...
// 保持对window对象的全局引用,如果不这么做的话,当JavaScript对象被 // 垃圾回收的时候,window对象将会自动的关闭 let win; /** * */ function createWindow() { // 创建浏览器窗口。 win = new BrowserWindow({ width: 800, height: 600,
Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium (opens new window) 和 Node.js (opens new window) 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在W...