桌面通知未显示在Chrome中

问题描述 投票:2回答:1

我已经验证了Notification.permission === 'granted''Notification' in window == true,以下Javascript没有在我的Chrome浏览器版本70.0.3538.77(官方版本)(64位)中显示通知。

var notif = new Notification('title', {
    icon: 'https://placehold.it/120x120',
    body: 'body'
});

我已经在我之前允许用于桌面通知的网站上的Chrome控制台中执行了上述操作。我还验证了它在这个位置设置为允许:Notifications set to Allow

javascript html5 google-chrome notifications
1个回答
0
投票

没有打开对话框的问题是http。 Chrome桌面通知仅适用于https协议。

我遇到过这个问题,我花了很多时间来解决这个问题。最后,我使用https获得了解决方案。

在这里,我共享代码,以便您可以在https上运行,它将正常工作。

// request permission on page load
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('Notification title', {
      icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
      body: "Hey there! You've been notified!",
    });

    notification.onclick = function() {
      window.open("http://stackoverflow.com/a/13328397/1269037");
    };
  }
}

notifyMe();

致电notifyMe();以显示通知

© www.soinside.com 2019 - 2024. All rights reserved.