选项卡处于焦点状态时,Firebase Web推送通知onclick

问题描述

我正在寻找一种方法来处理Notification上的onclick事件,当应用程序处于前台并且标签处于焦点时。

我有这个:

self.addEventListener('notificationclick',function(event) {....

在我的服务工作者文件firebase-messaging-sw.js中,但这仅在应用程序处于后台或焦点不清晰时触发。我认为这应该是这样。

我之前是这样做的:

const options = {
              body: notification.body,click_action: notification.data.click_action,data: notification.data,tag: tag
            };

const notif = new Notification(notification.title,options);

notif.onclick = function() {
    alert('sdfsdf'); // working FINE
};

但是,new Notification在基于Android的浏览器(例如chrome,brave,firefox等)中似乎根本无法正常工作。

现在我正在使用这个:

navigator.serviceWorker.getRegistrations().then(function() { ....

找到我的服务人员注册ServiceWorkerRegistration界面)并在其上调用showNotification方法,该方法可以很好地跨平台工作。

但是如何将onclick生成Notification上的showNotification绑定

我尝试这样做:

// v = ServiceWorkerRegistration

v.getNotifications({ tag: tag })
         .then(function(notificationsList) {
            if( notif = notificationsList[0] ) {
              console.log("notif: ",notif);

              notif.onclick = function() {
                  alert('new notif');
                };
            }
  });

onclick被绑定,但是仍然不起作用。

我可能在这里错过了一些东西。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)