BrowserWindow 常用事件、方法
2024年5月8日大约 1 分钟
BrowserWindow 常用事件、方法
BrowserWindow
创建并控制浏览器窗口。
详细的事件和方法请查看 Electron BrowserWindow
使用 BrowserWindow
,第一步先创建一个实例对象
const { BrowserWindow } = require("electron");
const window = new BrowserWindow({
width: 800,
height: 600,
});
优雅地显示窗口
ready-to-show
在加载页面时,渲染进程第一次完成绘制时,如果窗口还没有被显示,渲染进程会发出 ready-to-show 事件。
在此事件后显示窗口将没有视觉闪烁。
const window = new BrowserWindow({ show: false });
window.once("ready-to-show", () => {
window.show();
});
backgroundColor
设置窗口的背景颜色。
对于一个复杂的应用,ready-to-show 可能发出的太晚,会让应用感觉缓慢,建议立刻显示窗口,并使用接近应用程序背景的 backgroundColor。
const window = new BrowserWindow({ backgroundColor: "#096dd9" });
父子窗口
通过使用 parent 选项,可以创建子窗口,当父窗口关闭时,子窗口也会关闭。
const parent = new BrowserWindow();
const child = new BrowserWindow({ parent: parent });
模态窗口
将子窗口以模态窗口的方式显示
const parent = new BrowserWindow();
const child = new BrowserWindow({ parent: parent, modal: true, show: false });
child.once("ready-to-show", () => {
child.show();
});
平台相关
- 在 macOS 上,modal 窗口将显示为附加到父窗口的工作表。
- 在 macOS 上,子窗口将保持与父窗口的相对位置。而在 Windows 和 Linux 中,当父窗口移动时子窗口不会移动。
- 在 Linux 上,模态窗口的类型将更改为 dialog。
- 在 Linux 上,许多桌面环境不支持隐藏模态窗口。
静态方法
不用实例化,直接使用
getAllWindows
获取所有打开的窗口实例
@returns {BrowserWindow[]}
const windows = BrowserWindow.getAllWindows();