即使在错误页面(例如 net::ERR_NETWORK_CHANGED)上,有没有办法加载后台 js?我需要从扩展保持与 WS 服务器的持久连接,但错误页面不加载后台 js。所以我失去了连接和重新启动它的可能性(因为这是无法访问浏览器 ui 的自动化工具)。
我找到的唯一解决方案是使用代理服务器来自定义错误页面并在其中加载后台 js。
即使在错误页面(例如 net::ERR_NETWORK_CHANGED)上,有没有办法加载后台 js?我需要从扩展保持与 WS 服务器的持久连接,但错误页面不加载后台 js。所以我失去了连接和重新启动它的可能性(因为这是无法访问浏览器 ui 的自动化工具)。
我找到的唯一解决方案是使用代理服务器来自定义错误页面并在其中加载后台 js。
断言“后台 js 不适用于错误页面”没有任何意义,因为如果您使用拆分隐身模式,每个扩展两个只有一个背景页面。
因此,我假设您想要检测网络连接丢失以恢复 Web 套接字。Chrome 为此提供了两个可靠的全局事件:online
和offline
.
我已经发布了Stack Exchange 收件箱的实时桌面通知的源代码,这也说明了网络连接丢失/恢复。Chrome 扩展的相关 Web Socket 部分可在stackexchange-notifications/Chrome/using-websocket.js
Github 上找到。