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不到,不过这些情况也比较特殊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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!
})`