未捕获(承诺)TypeError:尝试打开窗口时出错了

时间:2017-08-08 07:35:56

标签: javascript push-notification web-push

我在点击网络推送通知时尝试打开新链接时遇到上述错误。

我的代码工作正常,我的意思是我能够在点击通知后打开链接,但在控制台中收到此错误,同时当我输入任何硬编码的网址时,它在控制台中显示没有错误。

任何帮助都将不胜感激。

这是我的service-worker.js代码

var link;
try{
self.addEventListener('push', function(e) {
    var data = e.data.json();
    var title = data.title;

        var options = {
            body: data.body
        };
        if(data.link){
            link = data.link;
        }

        if(data.badge){
            options.badge = data.badge;
        }

        if(data.icon){
            options.icon = data.icon;
        }

        if(data.image){
            options.image = data.image;
        }

        e.waitUntil(self.registration.showNotification(title, options));

 });
}
  catch(error){
  console.log('error while sending push notification');
}
 self.addEventListener('notificationclick', function(event) {

 event.notification.close();
 event.waitUntil(clients.openWindow(link));
});

1 个答案:

答案 0 :(得分:0)

在尝试对网络推送通知实施点击操作时遇到此问题。使用 preventDefault() 解决了它;

https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault