Caching 如果开发工具未打开,Workbox不会删除缓存
即使存在新版本,浏览器上的缓存也不会删除 my registerSW.js:Caching 如果开发工具未打开,Workbox不会删除缓存,caching,service-worker,workbox,Caching,Service Worker,Workbox,即使存在新版本,浏览器上的缓存也不会删除 my registerSW.js: async function registerSW() { if ('serviceWorker' in navigator) { try { await navigator.serviceWorker.register('/sw.js'); } catch (e) { alert('ServiceWorker registrati
async function registerSW() {
if ('serviceWorker' in navigator) {
try {
await navigator.serviceWorker.register('/sw.js');
} catch (e) {
alert('ServiceWorker registration failed. Sorry about that.');
console.log(e);
}
} else {
document.querySelector('.alert').removeAttribute('hidden');
}
}
if ('serviceWorker' in navigator) {
window.addEventListener('load', e => {
registerSW();
});
}
sw.js:
myCacheVer = 'v-01';
myCache = 'appname-' + myCacheVer;
if (workbox) {
console.log('[ServiceWorker] Activate');
caches.keys().then(function (keyList) {
return Promise.all(keyList.map(function (key) {
if (!key.includes(myCacheVer)) {
console.log('[ServiceWorker] User - Removing old cache', key);
return caches.delete(key);
}
}));
})
workbox.setConfig({
clientsClaim: true,
debug: true,
skipWaiting: true
});
workbox.core.setLogLevel(workbox.core.LOG_LEVELS.warn);
. . . .
如果我更改版本号,Workbox仍将使用旧版本(例如,创建新缓存数据等)。如果我打开Dev Tools>Application,然后单击一个链接,此时Workbox将创建新缓存并删除旧缓存