我在Windows上进行测试。 该应用程序设置了一个准备好的托盘菜单,其中包含一个'关于'标签。单击时,它显示BrowserWindow:
var aboutBox = new BrowserWindow({
width: 460, height: 176, useContentSize: true,
icon: iconImg,
maximizable: false, fullscreenable: false, resizable: false, minimizable: false
});
然后,当用户点击“确定”时,将其关闭:
const remote = require('electron').remote;
remote.getCurrentWindow().close();
导致应用退出。
为什么?
答案 0 :(得分:4)
在你的main.js中,您可以拥有以下代码:
// Quit when all windows are closed.
app.on('window-all-closed', function () {
// On OS X it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') {
app.quit()
}
})
因此,因为您关闭了此事件的唯一窗口,所以它会被释放并且应用程序已关闭。
修改强> 这种行为在Electron中也是默认的,因此为了避免关闭app关闭主窗口,请添加以下行:
app.on('window-all-closed', e => e.preventDefault() )