electron怎么禁用系统的错误弹窗

新手上路,请多包涵

问题表现:
1、在线升级的过程中直接禁用网络,然后弹出网络错误的系统弹窗;
2、写文件到U盘过程中突然拔出U盘;
上述如果没有出现可能需要在之后发送一个信号才会出现ipcRenderer.sendTo(xxx, xxx)

以下是在网上找到的部分资料
How to disable alert dialogs when errors occur
https://discuss.atom.io/t/how...

看了这个答案尝试了里面的方法并没有解决, 用uncaughtException也不能catch到
当然可能也是我用法不对导致catch不到,不过这些情况也比较特殊

阅读 7k
1 个回答
新手上路,请多包涵

第一个可以用下面代码捕获,因为升级要打包出来升级,所以之前没有试过,这个是可以捕获升级过程出现的错误的
`process.on('uncaughtException', (error) => {
logger.info('error:', error)
})`
第二个是我代码有点问题
至于怎么重写dialog还是不清楚

其它一些供参考的
`ipcMain.removeAllListeners("ELECTRON_BROWSER_WINDOW_ALERT")
ipcMain.removeAllListeners("ELECTRON_BROWSER_WINDOW_CONFIRM")
ipcMain.removeAllListeners("ELECTRON_BROWSER_WINDOW_PROMPT")
ipcMain.on("ELECTRON_BROWSER_WINDOW_ALERT", (event, message, title)=>{
logger.warn([Alert] ** ${title} ** ${message})
event.returnValue = 0 // IMPORTANT!
})
ipcMain.on("ELECTRON_BROWSER_WINDOW_CONFIRM", (event, message, title)=>{
logger.warn([Alert] ** ${title} ** ${message})
event.returnValue = 0 // IMPORTANT!
})
ipcMain.on("ELECTRON_BROWSER_WINDOW_PROMPT", (event, message, title)=>{
logger.warn([Alert] ** ${title} ** ${message})
event.returnValue = 0 // IMPORTANT!
})`

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