javascript - 使用javascript捕获Safari抛出的错误

标签 javascript error-handling safari websocket

我正在开发一个使用网络套接字的网络应用程序,它在除 Safari 之外的所有主要浏览器上都能正常工作。然后我做了一些挖掘,发现虽然 Safari 7 支持 WebSocket,但它不能很好地与 SSL 配合使用。它一直在错误控制台中给我这样的错误消息:

WebSocket 网络错误:OSStatus 错误 -9807:证书链无效。

我想捕获这个错误然后做一些解决方法。但是我认为这是 Safari 的错误,我在初始化 WebSocket 时尝试了 try/catch,它没有落入 catch 语句。

所以我想知道我是否可以捕捉到这种来自浏览器的错误?

任何帮助都会很棒!

谢谢!

最佳答案

WebSocket的onclose属性在发生WebSocket network error: OSStatus Error -9807: Invalid certificate chain时调用。

通过将函数附加到 onclose,可以检测到由于 SSL/TLS 连接不受支持或失败而导致的 WebSocket 连接失败。

如评论中所述,onerror 不会在 Safari v9 (Mac) 或更早版本上针对 SSL/TLS 连接错误调用。

关于javascript - 使用javascript捕获Safari抛出的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19940498/

相关文章:

javascript - Firebase 数据库 : Search for Particular Item

javascript - 如何使用 Node.js、websocket 和total.js 将数据传递到 Mongodb

php - 在PHP中输出详细的错误

ios - Swift 3 转换 "has no member"错误

javascript - 使用 jquery 自定义自动完成

javascript - 为什么 jQuery 在 google chrome 扩展的浏览器操作弹出窗口中不起作用?

ios - leveldb语义错误,连续从podfile接收错误

html - 从 UIWebView 在 Safari 中打开特定链接

macos - 如何检测是否启用了Safari省电模式?

google-app-engine - 重定向后如何在 safari 中保留 uri 片段?