【发布时间】:2020-08-01 07:02:07
【问题描述】:
我遵循本教程:https://developers.google.com/web/fundamentals/codelabs/push-notifications#notification_click 并将其实现到 VueJS。
在创建的钩子上,我运行这个函数:
register() {
if ("serviceWorker" in navigator && "PushManager" in window) {
console.log("Service Worker and Push is supported");
navigator.serviceWorker
.register("/sw.js")
.then(function (swReg) {
console.log("Service Worker is registered", swReg);
swRegistration = swReg;
})
.catch(function (error) {
console.error("Service Worker Error", error);
});
} else {
console.warn("Push messaging is not supported");
pushButton.textContent = "Push Not Supported";
}
}
我在 Chrome、Safari 和 Firefox 中的控制台打印:
"Service Worker and Push is supported"
"Service Worker is registered >ServiceWorkerRegistration"
"Service Worker Error ReferenceError: swRegistration is not defined"
有谁知道为什么 swReg 可以被记录,但 swRegistration 没有被分配?
.then(function (swReg) {
console.log("Service Worker is registered", swReg);
swRegistration = swReg;
【问题讨论】:
-
严格模式javascript错误。
标签: javascript vue.js promise push-notification es6-promise