我已将以下(示例(代码添加到我的应用程序(Angular 应用程序,适用于任何 JS 应用程序(以删除服务工作者缓存:
if ('serviceWorker' in navigator) {
if ('caches' in window) {
caches.keys().then((keyList) => {
return Promise.all(keyList.map(function (key) {
return caches.delete(key);
}));
});
}
}
但是对于某些使用适用于Windows的Chrome 72及更高版本的用户,我经常收到崩溃报告,并显示以下错误:
TypeError · undefined is not a function
对于函数
caches.keys
任何人都知道为什么会发生这种情况。
keys 方法仅在 Cache 对象上找到。
您可以从cache.open
函数获取缓存对象。
用法示例:
caches.open(name).then(function(cache) {
cache.keys().then(function(keys) {
//Do something with keys
});
})