如果翻譯被緩存,您需要將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',
];
當我改變資產,我總是改變cacheName,在名稱(即:var cacheName = 'myAppCache-3t';
)的末尾添加一個新的版本。
如果您的服務工作人員之前已經安裝過,但在刷新或頁面加載時可以使用新版本的工作人員,則新版本將安裝在後臺,但尚未激活。只有在加載的頁面不再有仍在使用舊服務工作者的情況下才會激活它。一旦沒有更多這樣的頁面被加載,新的服務工作者就會激活。
但你可以強制這種行爲與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腳本。 –