0
非常に単純なケースです。私はコンテンツが変更可能であるため、ネットワークファーストキャッシングを実行しようとしています。ただし、サービスワーカーはネットワークの代わりにディスクキャッシュからサービスを提供しているようです。サーバーの更新情報(Chromium)も確認していないようだ。添付のスクリーンショットを参照してください。ここでサービスワーカーフェッチがネットワーク要求をしません
は私のページです:
<html>
<body>
<script>
function printFile() {
fetch('file.txt').then(resp => resp.text()).then(x => console.log(x));
}
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('sw.js')
.then(function(reg) {
// registration worked
console.log('Registration succeeded. Scope is ' + reg.scope);
navigator.serviceWorker.ready.then(printFile);
}).catch(function(error) {
// registration failed
console.log('Registration failed with ' + error);
});
}
</script>
</body>
</html>
とサービスワーカー:
self.addEventListener('install', function(event) {
event.waitUntil(self.skipWaiting());
});
self.addEventListener('activate', function(event) {
event.waitUntil(self.clients.claim());
});
self.addEventListener('fetch', function(event) {
console.log('Fetching ' + event.request.url);
event.respondWith(
fetch(event.request)
);
});
にはどうすればfile.txt
の新しいコピーを取得するためにサーバーにリクエストをするために私のサービスワーカーを強制することができますか?ああ、明らかにフェッチ