javascript - 如何使用 JavaScript 删除加载 View 中的所有 Chrome 通知?

标签 javascript google-chrome notifications

这是我在 Google Chrome 中显示通知的代码。

如何在代码中关闭通知?

document.addEventListener('DOMContentLoaded', function() {
  if (!Notification) {
    alert('Desktop notifications not available in your browser. Try Chromium.');
    return;
  }
  if (Notification.permission !== "granted")
    Notification.requestPermission();
});

function notifyMe() {
  if (Notification.permission !== "granted")
    Notification.requestPermission();
  else {
    var notification = new Notification('test', {
      icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
      body: "test",
    });
    notification.onclick = function() {
      window.open("http://stackoverflow.com/a/13328397/1269037");
    };
  }
}

最佳答案

很简单,每个通知对象都有 close() 方法,您只需将它们推送到数组并在窗口之前对每个通知对象调用 close()关闭

var notify=[];

for(var i=0; i<=4;i++){
  var notification = new Notification('test', {
  icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
  body: "test"+i
  });                                  //create some notifications
  notify.push(notification);
}

function removeAllNotifys()
{
  for(var i=0; i<notify.length;i++){
    notify[i].close();                 //remove them all  
  }
}

window.onbeforeunload = removeAllNotifys; 

您还可以在单​​击某个按钮时关联 removeAllNotifys() 以清除所有通知,或使用 setTimeout 在 2 秒后删除它们。

关于javascript - 如何使用 JavaScript 删除加载 View 中的所有 Chrome 通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41223068/

相关文章:

javascript - Gulp 无法缩小

css - 如何在 Chrome 中启用 CSS 选择器分析

javascript - JQuery ScrollTop 适用于 Chrome,但不适用于 Firefox

events - 从 HDFS 接收文件系统事件和通知

android - 通知状态栏的 Activity Intent ?

iOS接收远程通知并打开url

javascript - 在 noSQL 设置中,搜索子节点的有效方法是什么?

php - 编写代码流程图的建议

javascript - 在 jquery bind 中调用 javascript 原型(prototype)方法

javascript - Chrome /IE : 'mousemove' event triggered every couple of seconds with no movement/scroll/etc