我正在尝试订阅用户,但第一次出现了以下错误。 第二次就可以运作了,因为用户已经激活。
这是我的代码:
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) {
console.log('endpoint:', sub.endpoint);
var div = document.getElementById('id');
div.innerHTML = div.innerHTML + sub.endpoint;
// var b = document.getElementsByTagName('body')[0];
//b.appendChild(div);
//alert(sub.endpoint);
});
});
}
我已经尝试了以下方法,但ready.then()
方法没有执行:
if ('serviceWorker' in navigator) {
console.log('Service Worker is supported');
navigator.serviceWorker.register('sw.js').then(function(sreg) {
console.log(':^)', sreg);
navigator.serviceWorker.ready.then(function(reg) {
reg.pushManager.subscribe({
userVisibleOnly: true
}).then(function(sub) {
console.log('endpoint:', sub.endpoint);
var div = document.getElementById('id');
div.innerHTML = div.innerHTML + sub.endpoint;
// var b = document.getElementsByTagName('body')[0];
//b.appendChild(div);
//alert(sub.endpoint);
});
});
});
}
有什么想法吗?