Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在web中刷新页面后保持通知单击事件?_Javascript_Web - Fatal编程技术网

Javascript 如何在web中刷新页面后保持通知单击事件?

Javascript 如何在web中刷新页面后保持通知单击事件?,javascript,web,Javascript,Web,上面的代码将创建一个通知,并保持通知不会消失。当我单击通知时,将记录123,但刷新页面后,我丢失了click事件和变量a的通知 为了便于测试,我添加了身份验证。您可以将代码复制到浏览器控制台调试。尝试以下代码: function sendNotification (title = 'Hi') { var a = new Notification(title, { requireInteraction: true, renotify: true, tag: 123,

上面的代码将创建一个通知,并保持通知不会消失。当我单击通知时,将记录123,但刷新页面后,我丢失了click事件和变量a的通知


为了便于测试,我添加了身份验证。您可以将代码复制到浏览器控制台调试。

尝试以下代码:

function sendNotification (title = 'Hi') {
  var a = new Notification(title, {
    requireInteraction: true,
    renotify: true,
    tag: 123,
  })

  a.onclick = function () { // Click event will lose after refresh
    console.log('get')  
  }
}

if (!("Notification" in window)) {
  alert("not support");
}

else if (Notification.permission === "granted") {
  // If it's okay let's create a notification
  sendNotification()
}

else if (Notification.permission !== 'denied') {
  Notification.requestPermission()
  .then(
    permission => {
      if (permission === "granted") {
        sendNotification()
      }
    }
  )
}

您是否尝试在
onload事件
上触发
a.onclick
?我也面临同样的问题,您有什么进展吗?
document.onload = function(){
    a.onclick = function () {
      console.log(123)
    }
};