当你想实现阻止Electron窗口关闭,并弹出询问对话框,提示用户:“文章尚未保存,是否要关闭窗口”这类业务时,那么你99%会碰到这个BUG:
https://github.com/electron/electron/issues/24994
这是我在去年8月份发现的BUG,Electron的作者也已经确认了这个BUG,但遗憾的是现在还没有修复。下面我们就聊聊这个问题,以及应对这个问题的方案。
问题描述要阻止窗口关闭,必须在窗口的关闭事件中,执行preventDefault操作才行,如下代码所示:
win.on("close", (e) => { e.preventDefault(); });