我想以最简单的方式在客户端javascript之外进行浏览器通知,因此我在以下基于https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API的代码中实现了这些通知,该代码应该与现有的通知系统兼容不同的平台。我在当前的Firefox中收到通知,但在chrome中,我仅收到是要允许还是阻止通知的问题,而在Safari浏览器中则什么也没有。
我做错了吗?在https://notifications.spec.whatwg.org/的底部,requestPermission()
中的回调似乎已被弃用。 为使代码跨浏览器兼容,我对代码的最小更改是什么?
var v_notification = function (title, text) {
var options = {
body: text,
// silent: false, <- not supported yet
// noscreen: true, <- not supported yet
icon: 'http://veithen.io/images/icon-stackoverflow.svg'
}
if (!("Notification" in window)) {
console.log("This browser does not support desktop notification");
};
if (Notification.permission !== 'denied' || Notification.permission === "default") {
Notification.requestPermission(function (permission) {
if (permission === "granted") {
var notification = new Notification("Foo: " + title, options);
} else {
console.log("No notification due to permission " + permission);
}
});
}
else if (Notification.permission === "granted") {
var notification = new Notification("Foo: " + title, options);
}
}