代码之家  ›  专栏  ›  技术社区  ›  Question hunter

打开电子中的链接创建一个新的浏览器窗口如何在该窗口上应用设置浏览器窗口属性?

  •  0
  • Question hunter  · 技术社区  · 2 年前

    我有一个主要的Electron窗口,它是由loadURL加载的。在那个窗口中,我们有一个不同的 一个标签,它自动创建了一个具有默认设置的新BrowserWindow。我们如何更改该窗口的Browserwindow属性。

    new BrowserWindow({
     width: width,
     show: true,
     height: height,
     frame: false,
     transparent: true,
    }
    
    1 回复  |  直到 2 年前
        1
  •  1
  •   pushkin Void Star    2 年前

    您需要使用 setWindowOpenHandler 方法来拦截窗口启动并配置属性:

    mainWindow.webContents.setWindowOpenHandler((details) => {
        return {
            action: "allow",
            overrideBrowserWindowOptions: {
                width: 100,
                frame: false,
                // etc.
            }
    });
    

    请注意,此处理程序将为从主窗口打开的所有窗口启动,因此您可能需要检查 details.disposition 属性,或者以其他方式弄清楚是否要破坏窗口配置(例如。 window.open 也会触发此)