【问题标题】:How to maximize every `window.open` call in Electron?如何最大化 Electron 中的每个“window.open”调用?
【发布时间】:2021-10-31 19:13:10
【问题描述】:

我知道我们可以使用以下代码来最大化主窗口:

const mainWindow = new BrowserWindow({...})

mainWindow.maximize()

但是从主窗口中调用window.open 呢?如何最大化它们?

使用new BrowserWindow({ fullscreen: true }) 不是一个选项,因为这会导致打开的窗口没有标题栏。

【问题讨论】:

    标签: javascript html electron window.open maximize-window


    【解决方案1】:

    你只需要拦截窗口的创建并在那里最大化它们(这也会影响通过点击带有target="_blank"的超链接打开的窗口)

    假设您使用的是 Electron 12 或更高版本:

    mainWindow.webContents.on('did-create-window', win => win.maximize())
    

    至于您评论中问题的第二部分,您需要在窗口准备好显示之前隐藏它:

    mainWindow.webContents.setWindowOpenHandler(() => ({
      action: 'allow',
      overrideBrowserWindowOptions: { show: false },
    }))
    
    mainWindow.webContents.on('did-create-window', win =>
      win.once('ready-to-show', () => win.maximize()),
    )
    

    【讨论】:

      猜你喜欢
      • 2018-04-02
      • 2016-10-04
      • 2021-01-19
      • 2016-03-12
      • 2018-11-20
      • 2019-08-11
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多