有什么方法可以甚至在错误页面(例如net::ERR_NETWORK_CHANGED)上加载后台js吗?我需要从扩展名保持与WS服务器的持久性连接,但是错误页面不会加载后台js。因此,我失去了连接并可能重新启动它(因为这是自动化工具,无法访问浏览器ui)。

我发现的唯一解决方案是使用代理服务器来自定义错误页面并在其中加载后台js。

最佳答案

断言“Background js在错误页面上不起作用”没有任何意义,因为如果您使用split incognito mode,则每个扩展名两个只有一个背景页面。

因此,我假设您要检测网络连接丢失以恢复Web套接字。 Chrome为此提供了两个可靠的全局事件:onlineoffline

我已经发布了Real-time desktop notifications for Stack Exchange inbox的源代码,它也解决了网络连接丢失/重新注册的问题。 Chrome扩展程序的相关Web套接字部分可在Github上的 stackexchange-notifications/Chrome/using-websocket.js 中找到。

关于error-handling - 后台js在错误页面上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16415863/

10-14 15:49
查看更多