この記事に基づいて HTML5 ServiceWorker API を試しています。記事では、
ユーザーがサイトに移動すると、ブラウザーは Service Worker を定義したスクリプト ファイルをバックグラウンドで再ダウンロードしようとします。Service Worker ファイルが現在のものと比べて 1 バイトでも異なる場合、それは「新しい」と見なされます。
このことから、ワーカーのスクリプト ファイルに何か変更を加えると、古いバージョンのワーカーを参照しているすべてのページが終了したときに起動する新しいバージョンを定義するようブラウザに促すことになると結論付けました。
編集:どうやらブラウザは
serviceworker.js
ファイル自体をキャッシュしているようです。そのため、新しいバージョンが取得されません。ワーカーファイルのキャッシュを回避する方法を誰か教えてもらえますか? 利用可能なデモをオンラインで調べました ( MDNおよびW3C Webmob の GitHub のものを含む)
これは私のファイル構造です:
|- index.html
|- serviceworker.js // the actual worker
|- serviceworker-cache-polyfill.js
|- serviceworker-registration.js // contains the registration logic for the worker
|- style.css
次の URL を含めるようにキャッシュを構成しました。
- 「/style.css」