我知道有幾百個問題:「我如何防止電子中的關閉事件」或類似的東西。
執行beforeunload
事件中的確認框(電子消息框)後,我能夠關閉我的應用程序並取消關閉事件。由於開發工具始終是開放的,我並沒有認識到,雖然開發者工具關閉它不工作...確認電子之前未加載
window.onbeforeunload = e =>
{
// show a message box with "save", "don't save", and "cancel" button
let warning = remote.dialog.showMessageBox(...)
switch(warning)
{
case 0:
console.log("save");
return;
case 1:
console.log("don't save");
return;
case 2:
console.log("cancel");
return false;
// e.returnValue = "false";
// e.returnValue = false;
}
};
所以,開發者工具打開時,我可以關閉與應用保存,不保存和取消事件。
當開發工具關閉時,取消按鈕不再有效。
順便說一句。:
window.onbeforeunload = e =>
{
return false;
alert("foo");
};
將取消該關閉事件,顯然不會顯示消息(不要緊,如果開發工具的打開或關閉)
window.onbeforeunload = e =>
{
alert("foo");
return false;
};
將取消關閉事件後按下確定如果開發工具打開,並關閉應用程序後按下確定如果開發工具已關閉
故意我使用消息框的同步api和whi我正在寫這個問題,我想出了一個兩個窗口的應用程序(new remote.BrowserWindow()
)將表現完全像開發工具。
有沒有人知道我能如何解決這個問題?
非常感謝提前
它看起來像是遇到了[Electron中的已知問題](https://github.com/electron/electron/issues/7977)。 – FlyingPiMonster