我正在创建一个电子应用程序。我将用户进度保存在文件中。当用户未保存并尝试关闭应用时,我希望应用显示正常的'关闭前保存更改 。
我可以显示自定义对话框,但是,我希望以原生方式进行。
(例如:在macOS上,当您编辑文件时,红色按钮会更改,让用户知道应用程序有未保存的内容)
http://blog.derakkilgo.com/2009/06/07/send-a-file-via-post-with-curl-and-php/
我知道必须在Electron的听众内部完成这项工作:
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
...阻止quit()
被调用。而是处理未保存的文件状态和对话框。
PD:我已经处理了逻辑,知道用户是否保存了进度。我只是想知道如何将'未保存'状态设置为我的电子应用并正确处理它。
(示例是Visual Studio Code,也是电子应用程序)
答案 0 :(得分:1)
我通常使用全局变量来指示发生了更改,例如在关闭应用的情况下: 主要代码:
mainWindow.on('close', function (event) {
if (global.savetoask== 'Yes') {
event.preventDefault();
//send a ipc message to request a confirm dialog
.............
} else {
app.exit();
}
});