我已经验证了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'
});
没有打开对话框的问题是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();
以显示通知