微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Service Worker安装失败:“无法读取属性’addAll of undefined”

所以我会保持简洁:在尝试安装时,我的服务工作者会失败.这是我在sw.js中的所有代码
var cacheName = 'randomstring';
var filesToCache = [ '/' ];

self.addEventListener('install',function (e) {
    console.log('[ServiceWorker] Install');
    e.waitUntil(
        caches.open(cacheName)
            .then(function (cache) {
                console.log('[ServiceWorker] About to fail');
                return cache.addAll(filesToCache);
            })
    );
});

我得到一个例外,因为缓存未定义(在cache.addAll位上).

不确定为什么会这样?

我之前使用过服务工作者,从未遇到过这个问题.这是我第一次使用带有ASP.Net后端的服务工作者,所以不确定这是不是问题?

解决方法

所以,我想出来了.我打算投票来结束这个问题,但我想我会把它留在这里,因为我看到其他一些人不知道如何解决这个问题.即使它是超级愚蠢的:)(或者更确切地说,我是).

所以我通过“播放”按钮运行网站,也就是“开始调试”,在Visual Studio 2017中,它会启动一个特殊的Chrome窗口,其中会抛出上述错误.

解决这个问题,我可以(或者你可以,未来的网络旅行者)在没有调试的情况下开始,在IIS中托管网站等.

编辑:如果有一个更好的解决方法,我可以在调试模式下使用服务工作者,请建议它,我会将其标记为答案.但是对于我的具体问题,上面的解决方法很好:).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐