如何以最简单的方式使我的通知实现跨浏览器兼容?

时间:2019-01-05 10:17:53

标签: javascript notifications cross-browser

我想以最简单的方式在客户端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);
    }
}

0 个答案:

没有答案