1

我正在尝试注册 Service Worker 并收到错误消息:

DOMException: Operation failed by network issue

该页面使用 github 页面托管:https ://boopathi.in/sw-demo-iss 。源代码在这里https://github.com/boopathi/sw-demo-iss

我试图了解这意味着什么以及如何解决错误。

4

2 回答 2

4

Chrome 似乎正在尝试加载/注册https://boopathi.in/sw-demo-iss/sw.bundle.js为服务工作者,但是 404s。所以你可能需要稍微摆弄一下路径。也许register('sw.bundle.js')会起作用?

于 2015-01-12T14:05:31.557 回答
2
if('serviceWorker' in navigator) {
    navigator.serviceWorker.register('sw.bundle.js', {
        scope: 'isstracker'
    }).then(function(reg) {
        console.log("Service worker registered")
    }).catch(function(err) {
        console.log(err);
    });
}

您将 serviceworker 限定为isstracker,这意味着您的 serviceworker 将仅适用于isstracker/路径之后的所有内容,但演示托管在sw-demo-iss/路径上。这很可能是您收到 SecurityError 的原因:

"The Service Worker security policy prevented an action."
于 2015-01-12T22:13:55.950 回答