为什么我的Electron应用程序在关闭渲染器窗口时退出?
我正在Windows上测试。 该应用程序在“就绪”上设置一个托盘菜单,并带有“关于”标签。单击时,将显示一个浏览器窗口:为什么我的Electron应用程序在关闭渲染器窗口时退出?,electron,Electron,我正在Windows上测试。 该应用程序在“就绪”上设置一个托盘菜单,并带有“关于”标签。单击时,将显示一个浏览器窗口: var aboutBox = new BrowserWindow({ width: 460, height: 176, useContentSize: true, icon: iconImg, maximizable: false, fullscreenable: false, resizable: false, minimi
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();
导致应用程序退出
为什么?在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.on('window-all-closed', e => e.preventDefault() )
嗯,我的main.js中没有这个。这是不是像Electron内置的默认值?在哪里可以解决这个问题?