if ('serviceWorker' in navigator) {
console.log('Service Worker is supported');
navigator.serviceWorker.register('sw.js').then(function(reg) {
console.log(reg);
reg.pushManager.subscribe({
userVisibleOnly: true
}).then(function(sub) {
var endpoint = sub.endpoint;
console.log('endpoint:', sub.endpoint);
});
}).catch(function(err) {
console.log(':(', err);
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的serviceWorker注册的简单示例.当我第一次加载页面时,我收到错误:
未捕获(在承诺中)DOMException:订阅失败 - 没有活动的服务工作者
如果我重新加载此页面一切正常.在Mozilla我没有这个bug.为什么serviceWorker不能在第一个onload中注册?