我正在学习在Electron中编写JavaScript。我有两个窗口。主窗口和子窗口。当主窗口关闭在Windows计算机上选择X时,我希望它关闭包括子窗口在内的整个应用程序。下面的行适用于Mac电脑。使用Electron时关闭所有应用程序窗口
mainWindow.on('closed',() => app.quit());
什么是做相同的事情的Windows PC的正确方法。
我正在学习在Electron中编写JavaScript。我有两个窗口。主窗口和子窗口。当主窗口关闭在Windows计算机上选择X时,我希望它关闭包括子窗口在内的整个应用程序。下面的行适用于Mac电脑。使用Electron时关闭所有应用程序窗口
mainWindow.on('closed',() => app.quit());
什么是做相同的事情的Windows PC的正确方法。
mainWindow.on('closed', function() {
child.close()
})
试试这个。
这实际上是一个在所有窗口关闭时都会执行的事件。问题是关于如何一次关闭所有窗口。 –
app.quit()
是这样做的正确功能。从文档(https://github.com/electron/electron/blob/master/docs/api/app.md)
尝试
报价关闭所有窗口。
before-quit
事件将首先发射。如果所有窗口都成功关闭,将会发出will-quit
事件,默认情况下应用程序将终止。该方法保证所有
beforeunload
和卸载事件处理程序 都正确执行。有可能窗口通过在beforeunload
事件处理程序中返回false
来取消 戒烟。
,如果你直接关闭按钮单击该应用程序,而不是关闭该窗口,您可以纠正在Windows的行为 - >听完事件 - >和退出应用程序
const app = require('electron').remote.app;
const close = document.getElementById('myCloseButton');
close.on('click',function(){
app.quit();
});
这beeing说由于电子如何与Window API协同工作(可惜我现在无法在Windows上测试),窗户关闭过程仍可能失败可能。但你可以大概通过使用app.exit()
解决问题。
所以你说这不适用于Windows?会发生什么呢?任何错误或其他反馈? – jonrsharpe
当您在主窗口中点击X时,只有在我的文件菜单中选择退出时,子窗口才会保留 –
,它是否实际关闭了两者。 –