electron 中使用 BrowserWindow.on('close') 无法阻止窗口关闭

我是在 vue 组件的 created 钩子里加载这个监听的:

($electron 指向 require('electron'), 是 vue-electron 包的功能)

created () {
    this.$electron.remote.getCurrentWindow.on('close', (e) => {
        e.preventDefault()
    }
}

按照官方文档,e.preventDefault() 将阻止窗口关闭,但窗口还是关了。

没有找到原因,可能原因是什么?


项目采用 electron-vue 模版搭建,运行在开发模式

  • electron: 1.8.7
  • vue: 2.5.13
  • vue-router: 3.0.1
阅读 10.9k
1 个回答
新手上路,请多包涵

通过remote绑定,其实是在主进程上。由于异步,在渲染进程无法阻止关闭。在渲染进程用onbeforeload阻止

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题