在关闭我的Electron应用程序进程后,继续运行。 这是我的代码:
label: 'Close', click() {
app.quit()
}
window.on('close', function (e) {
var choice = require('electron').dialog.showMessageBox(this,
{
type: 'question',
buttons: ['Yes', 'No'],
title: 'Confirm',
message: 'Are you sure you want to quit?'
});
if (choice == 1) {
e.preventDefault();
}
})
我做错了什么?
答案 0 :(得分:0)
您正在防止关闭事件的默认行为。 (e.PreventDefault())
您不应在关闭事件上要求用户确认。 window.on('close')事件的目的是执行清除任务,例如删除临时文件,如果window是父窗口,则关闭其他相关进程。
您可以通过以下方式编写它:
label: 'Close', click() {
var choice = require('electron').dialog.showMessageBox({
type: 'question',
buttons: ['Yes', 'No'],
title: 'Confirm',
message: 'Are you sure you want to quit?'
}, (response) => {
if (response == '0') {
app.quit()
}
})
window.on('close', function (e) {
window = null // Clean up your window object.
})