私は、サードパーティが自分のサイトでサービスワーカーを実行するために提供するライブラリを作成しています。すべてのネットワーク要求を傍受する必要がありますが、必要に応じてサービス担当者を構築できるようにしたいと考えています。複数のサービスワーカーが両方とも同じフェッチ要求をインターセプトできますか?
サービスワーカーの両方に同じフェッチを傍受させ、それらの間に何らかの優先順位を付けることはできますか?あるいは、私が使用すべき他のパターンがありますか?
ありがとうございました
私は、サードパーティが自分のサイトでサービスワーカーを実行するために提供するライブラリを作成しています。すべてのネットワーク要求を傍受する必要がありますが、必要に応じてサービス担当者を構築できるようにしたいと考えています。複数のサービスワーカーが両方とも同じフェッチ要求をインターセプトできますか?
サービスワーカーの両方に同じフェッチを傍受させ、それらの間に何らかの優先順位を付けることはできますか?あるいは、私が使用すべき他のパターンがありますか?
ありがとうございました
いいえ、できません。スコープごとに1人のサービスワーカーしか登録することができませんので、the latest kick the previous one outスコープがより具体的でない限り、このケースでは、最も具体的なものが要求に含まれます。
fetch
ハンドラを複数接続することもできます。これらのハンドラはすべてリクエストを処理するので、別のスクリプトで機能を記述して、サービス担当者にimportScripts()
でファイルを含めることができます。
event.respondWith()
を同期して呼び出す最初のハンドラ(実際には、このメソッドを非同期に呼び出すことはできません)が呼び出され、残りのハンドラが呼び出しを試みます。
優先順位付けと調整にはミドルウェアが必要です。 ServiceWorkerWareまたはsw-toolboxを確認できます。
「sw-toolbox」の代わりにWorkBoxがミドルウェアの概念をサポートしているかどうか、 –