sw.js
self.addEventListener('fetch', function(event) { console.log("in addEventListener('fetch", event.request.url); event.respondWith( caches.match(event.request) .then(function(res) { return res; }) ); });
上sw.jsと同階層に、index.htmlを置いています。
この時同階層なのでindex.htmlはservice workerのスコープ配下になります。
なので、特にregisterしなくても登録されて動くのは理解できます。
しかし、疑問な点としまして明らかにcacheから出している(caches.match())部分があり、キャッシュ内に該当レスポンスが蓄積されていれば、
オフラインでもそこから取り出して使用できると思うのですが、
特にキャッシュに入れる以下のようなコードが無い場合でも動いてしまう理由がわかりません...
sw.js
/* self.addEventListener('install', function(event) { console.log(".addEventListener('install 発火") event.waitUntil( caches.open('my_app_cache') .then(function(cache) { cache.addAll([ '/', './index.html', './src/js/app.js' ]) }) ); return self.clients.claim(); }); */
swが自動的にキャッシュに入れてくれているということでしょうか。
誰がどのタイミングでキャッシュに入れてくれているのか、そのあたりが知りたいと思います
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。