翻訳がキャッシュされている場合は、cacheName
をサービスワーカーのアクティブ化に変更する必要があります。
すなわち:私は資産を変更すると
var cacheName = 'myAppCache-3s';
var filesToCache = [
'/'
'index.html',
'scripts/hammer.min.js',
'images/play_white.svg',
'images/stop_white.svg',
'images/back_white.svg',
'images/forward_white.svg',
'images/sfondo.jpg',
'images/ic_refresh_white_24px.svg',
'scripts/meteo-zoom.js',
'scripts/meteosurf_200.js',
'scripts/jquery3-2-1.min.js',
'scripts/jqueryui1-12-1.min.js',
'styles/inline_01.css',
'styles/meteosurf_200.css',
'styles/jqueryui-smoothness.css',
'styles/images/ui-bg_glass_65_ffffff_1x400.png',
'styles/images/ui-icons_454545_256x240.png',
'images/icons/icon-64x64.png',
];
、私は常に名前(すなわち:var cacheName = 'myAppCache-3t';
)の最後に新しいバージョンを追加し、cacheNameを指定を変更します。
サービスワーカーが以前にインストールされていても、新しいバージョンのワーカーがリフレッシュまたはページロードで使用可能な場合、新しいバージョンはバックグラウンドにインストールされますが、まだアクティブ化されていません。以前のサービスワーカーを使用しているページが読み込まれなくなったときにのみアクティブ化されます。そのようなページがまだロードされていないとすぐに、新しいサービスワーカーがアクティブになります。
しかし、あなたはskipWaiting()
機能でこの動作を強制することができます:うん
self.addEventListener('install', function(e) {
console.log('[ServiceWorker] Install');
e.waitUntil(
caches.open(cacheName).then(function(cache) {
console.log('[ServiceWorker] Caching app shell');
return cache.addAll(filesToCache);
}).then(function() {
return self.skipWaiting();
})
);
});
が、私は[角度-CLI](https://github.com/angular/angular-cli)を使用しています。ビルド中にコマンドを実行するコマンド(または変数を設定することができますか?)(サービスワーカーはビルド時に自動的に生成されます)が不思議です。 –
angular-cliについてよく知らないけど、あなたのdistフォルダのどこかにworker-basicスクリプトがあるはずです。 –