2016-03-14 1 views
13

私は、サードパーティが自分のサイトでサービスワーカーを実行するために提供するライブラリを作成しています。すべてのネットワーク要求を傍受する必要がありますが、必要に応じてサービス担当者を構築できるようにしたいと考えています。複数のサービスワーカーが両方とも同じフェッチ要求をインターセプトできますか?

サービスワーカーの両方に同じフェッチを傍受させ、それらの間に何らかの優先順位を付けることはできますか?あるいは、私が使用すべき他のパターンがありますか?

ありがとうございました

答えて

20

いいえ、できません。スコープごとに1人のサービスワーカーしか登録することができませんので、the latest kick the previous one outスコープがより具体的でない限り、このケースでは、最も具体的なものが要求に含まれます。

fetchハンドラを複数接続することもできます。これらのハンドラはすべてリクエストを処理するので、別のスクリプトで機能を記述して、サービス担当者にimportScripts()でファイルを含めることができます。

event.respondWith()を同期して呼び出す最初のハンドラ(実際には、このメソッドを非同期に呼び出すことはできません)が呼び出され、残りのハンドラが呼び出しを試みます。

優先順位付けと調整にはミドルウェアが必要です。 ServiceWorkerWareまたはsw-toolboxを確認できます。

+0

「sw-toolbox」の代わりにWorkBoxがミドルウェアの概念をサポートしているかどうか、 –

関連する問題