0

エラーページ (net::ERR_NETWORK_CHANGED など) でもバックグラウンド js をロードする方法はありますか? 拡張機能から WS サーバーとの永続的な接続を維持する必要がありますが、エラー ページはバックグラウンド js をロードしません。そのため、接続が失われ、再起動する可能性がなくなります (これはブラウザー UI にアクセスできない自動化ツールであるため)。

私が見つけた唯一の解決策は、プロキシ サーバーを使用してエラー ページをカスタマイズし、その中にバックグラウンド js を読み込むことです。

4

1 に答える 1

2

「バックグラウンド js はエラー ページでは機能しません」というアサーションは意味がありません。スプリット シークレット モードを使用している場合、拡張機能 2 つにつきバックグラウンド ページが 1 つしかないためです。

したがって、Web ソケットを復元するために、ネットワーク接続の損失を検出する必要があると思います。Chrome では、このために 2 つの信頼できるグローバル イベントを提供しています:onlineoffline.

Stack Exchange inbox のリアルタイム デスクトップ通知のソース コードを公開しました。これは、ネットワーク接続の損失/回復も説明します。Chrome 拡張機能の関連する Web Socket 部分は、stackexchange-notifications/Chrome/using-websocket.jsGithub にあります。

于 2013-05-07T18:03:27.580 に答える