javascript - 如何最大化 Electron 中的每个“window.open”调用?
问题描述
我知道我们可以使用以下代码来最大化主窗口:
const mainWindow = new BrowserWindow({...})
mainWindow.maximize()
但是window.open
来自主窗口的调用呢?如何最大化它们?
使用new BrowserWindow({ fullscreen: true })
不是一个选项,因为这会导致打开的窗口没有标题栏。
解决方案
您只需要拦截窗口创建并在那里最大化它们(这也会影响通过单击超链接打开的窗口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()),
)
推荐阅读
- python - 套接字导入发送变量帮助(Python)
- php - 如何在 Laravel 的 map 方法中使用 array_push?
- javascript - SyntaxError:节点 js 中出现意外的令牌“导出”错误
- c# - 格式化包含公式的 get/return
- installation - WIx Installer:成功安装后有什么方法可以自动关闭安装程序屏蔽
- jquery - 单个系列向下钻取到多个不同系列的 Highcharts
- python - python:用另一行替换打印行的文本
- c# - Specflow.Autofac:在构建容器后交换依赖项
- javascript - 使用 CJS 和 ESM 模块是否存在兼容性问题?
- authentication - 如何在一个应用程序中进行多用户登录?