自定义window.open

时间:2017-12-02 17:06:21

标签: javascript node.js electron window.open

您好我正在使用Electron,我想更改window.open功能,以便默认情况下会打开隐藏/隐藏,最小化和其他一些内容的弹出窗口。

我找到了这段代码: window.open(url, windowName, 'toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left=10000, top=10000, width=10, height=10, visible=none', '');

但我希望这样做,以便默认情况下window.open的所有来电都有windowFeatures,但仍接受原始的urlwindowName参数。

1 个答案:

答案 0 :(得分:1)

您可以这样做:

%40

在这里,我们为每个最初创建的BrowserWindows const {app, BrowserWindow, webContents} = require('electron') const path = require('path') app.once('ready', () => { let win = new BrowserWindow() // you may create more // general callback const onWindowOpen = (event, url, frameName) => { event.preventDefault() const win = new BrowserWindow({ show: false, frame: false, resizable: false, title: frameName }) win.loadURL(url) win.webContents.on('new-window', onWindowOpen) event.newGuest = win } // wait every dom-ready Promise.all(BrowserWindow.getAllWindows().map(br => { return new Promise((resolve) => { br.webContents.once('dom-ready', () => { resolve() }) }) })).then(() => { // register every new-window callback webContents.getAllWebContents().forEach(wc => { wc.on('new-window', onWindowOpen) }) }) // load URL(s) for BrowserWindow(s) win.loadURL(path.resolve(__dirname, 'your.html')) }) 调用创建的每个BrowserWindow添加了new-window事件的监听器。新创建的BrowserWindow是无框架,不可见且无法调整大小的,因为它似乎完全是您的目标。

希望这有帮助!