【问题标题】:Deleting Service worker cache crashes删除 Service Worker 缓存崩溃
【发布时间】:2019-08-30 14:54:00
【问题描述】:

我已将以下(示例)代码添加到我的应用程序(Angular 应用程序,适用于任何 JS 应用程序)中以删除 serviceworker 缓存:

if ('serviceWorker' in navigator) {
    if ('caches' in window) {
        caches.keys().then((keyList) => {
            return Promise.all(keyList.map(function (key) {
                return caches.delete(key);
            }));
        });
    }
}

但我经常收到一些使用 Chrome 72 及更高版本的 Windows 用户的崩溃报告,并显示以下错误:

TypeError · undefined is not a function

函数

caches.keys

任何人都知道为什么会发生这种情况。

【问题讨论】:

    标签: javascript service-worker angular-service-worker


    【解决方案1】:

    keys method is only found on Cache objects。

    您可以从cache.open函数中获取缓存对象。

    示例用法:

    caches.open(name).then(function(cache) {
      cache.keys().then(function(keys) {
        //Do something with keys
      });
    })
    

    【讨论】:

    猜你喜欢
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 2018-05-14
    • 2017-05-28
    • 2018-09-19
    相关资源
    最近更新 更多