問題タブ [service-worker-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
70 参照

reactjs - キャッシュされたgraphqlクエリ応答の提供中にエラーが発生しました

私は Service Worker の初心者です。pwa をサポートするための反応プロジェクト用のカスタム sw.js を作成しています。バックエンドにgraphql実装があります。Graphql 応答の応答をキャッシュしましたが、ユーザーがオフラインになるとサービスを提供できません。これは、カスタム sw.js スニペット コードです。

予想される動作: sw.js は、必要な「/graphql」キャッシュ データをフェッチする必要があります。実際の動作: それを認識せず、offline.html にフォールバックします。

画像リンク: https://i.stack.imgur.com/pV3jk.png

0 投票する
1 に答える
446 参照

service-worker - Service Worker のフェッチがトリガーされないようです

ブラウザーがサーバーから画像を要求すると、その呼び出しはバックエンドの API コントローラーによって取得されます。そこでは、リクエストが許可されているかどうかを確認するために、画像を返す前に承認チェックを行う必要があります。

したがって、認証ヘッダーを追加する必要があり、最適なソリューションを検索するときに、次の記事を見つけました: https://www.twelve21.io/how-to-access-images-securely-with-oauth-2-0/および私は主に、Service Worker を使用するソリューション番号 4 に興味を持っていました。

私は独自の実装を作成し、serviceWorker を登録しました。

これは私のimageInterceptorにあります:

アプリケーションを実行すると、console.logs が表示され、登録が正常に実行されたように見えることがコンソールに表示されます (ServiceWorker がアクティブで、onLoad が呼び出され、正しいスコープでの登録が成功しました: https://localhost:44332/api /イメージゲートウェイ/

しかし、ゲートウェイ経由で画像 ( https://localhost:44332/api/imagesgateway/.. .) を読み込むと、まだ 400 が返され、バックエンドにブレークポイントを設定すると、認証ヘッダーがまだ null であることがわかります。また、コンソールに「フェッチ イベントがトリガーされました」というメッセージが表示されません。別の記事では、chrome://inspect/#service-workers という設定で登録済みの Service Worker を確認できると記載されていますが、自分の Worker も表示されません。

私の質問は次のとおりです。認証ヘッダーが追加されないのはなぜですか? 登録は成功しているように見えますが、実際にはそうではないため、inspect#service-workers にもワーカーが表示されないためですか?