如何最大化 Electron 中的每个 `window.open` 调用?
How to maximize every `window.open` call in Electron?
我知道我们可以使用以下代码来最大化主 window:
const mainWindow = new BrowserWindow({...})
mainWindow.maximize()
但是主 window 中的 window.open
调用呢?如何最大化它们?
不能使用 new BrowserWindow({ fullscreen: true })
,因为那样会导致打开的 windows 没有标题栏。
您只需要拦截 window 创建并在那里最大化它们(这也会影响通过单击 target="_blank"
超链接打开的 windows)
假设您使用的是 Electron 12 或更高版本:
mainWindow.webContents.on('did-create-window', win => win.maximize())
至于您评论中问题的第二部分,您需要在 window 准备好显示之前将其隐藏:
mainWindow.webContents.setWindowOpenHandler(() => ({
action: 'allow',
overrideBrowserWindowOptions: { show: false },
}))
mainWindow.webContents.on('did-create-window', win =>
win.once('ready-to-show', () => win.maximize()),
)
我知道我们可以使用以下代码来最大化主 window:
const mainWindow = new BrowserWindow({...})
mainWindow.maximize()
但是主 window 中的 window.open
调用呢?如何最大化它们?
不能使用 new BrowserWindow({ fullscreen: true })
,因为那样会导致打开的 windows 没有标题栏。
您只需要拦截 window 创建并在那里最大化它们(这也会影响通过单击 target="_blank"
超链接打开的 windows)
假设您使用的是 Electron 12 或更高版本:
mainWindow.webContents.on('did-create-window', win => win.maximize())
至于您评论中问题的第二部分,您需要在 window 准备好显示之前将其隐藏:
mainWindow.webContents.setWindowOpenHandler(() => ({
action: 'allow',
overrideBrowserWindowOptions: { show: false },
}))
mainWindow.webContents.on('did-create-window', win =>
win.once('ready-to-show', () => win.maximize()),
)