当窗口关闭、最大化、最小化是自定义的,不是electron自带的,那么当点击任务栏的关闭所有,或者单个关闭窗口时就需要再就添加一个监听事件。
-
当浏览器窗口关闭或者刷新时,会触发 onbeforeunload 事件。可以在这个事件中做你想要在关闭之前的所有处理,或者关闭窗口。
const closeCurrentWindow = () => { closed = true windowClose(currentID) } window.onbeforeunload = () => {//**是窗口在关闭前,需要做的事 if (closed) { return } closeCurrentWindow() return } function windowClose(id) { ipcRenderer.send('window-closed', id) }//通知主进程,需要关闭当前的窗口
这个事件的监听不会影响右上角的关闭事件,他们是独立的。所以如果窗口关闭事件是重写的,需要加上这个,才可以在任务栏中右键关闭当前窗口。