3

ホームページ (つまり、ホームページなど) のリクエストをインターセプトするようにService Workerをセットアップしようとしていますwww.mywebsite.com/。これにより、代わりにキャッシュされたテンプレートを返すことができます。私のコードはこれまでのところ次のようになります。

main.js:

navigator.serviceWorker.register('/sw.js')

sw.js:

self.addEventListener('fetch', function(event) {
  console.log(event.request.url)
  /**
   * only ever detects requests for resources but never the route itself..
   *
   * logged:
   * https://www.mywebsite.com/main.js
   * https://www.mywebsite.com/myimage.png
   *
   * not logged:
   * https://www.mywebsite.com/
   */
})

/main.jsリソースのリクエストに対して発生するイベント(またはなど)を実際に検出しているため、Service Workerが正しくセットアップされていると確信しています/myimage.png。ただし、問題は、ルート自体を要求するためのイベント ( ) を発生させたいのに、リソースのイベントだけが発生することです。/何か見逃しているのでしょうか、それとも別のイベントをリッスンする必要がありますか?

ありがとう

4

3 に答える 3