通知无法在FF Web Extension中使用

时间:2017-05-27 07:55:37

标签: javascript notifications firefox-addon firefox-webextensions

我有一个浏览器扩展程序,我使用WebEx编码,使其在Chrome和FF / Edge中运行,无需移植。以下代码在Chrome中完美运行。

toast = function(message, interval) {
    if (!(Notification || !("Notification" in window)))
        return;

    if (Notification.permission !== 'granted') {
        Notification.requestPermission().then(function (permission) {
            if (permission === 'granted') {
                var notification = new Notification('Extension', {
                    icon: chrome.extension.getURL('/img/128.png'), body: message });
                setTimeout(notification.close.bind(notification), interval);
            }
        });
    } else {
        var notification = new Notification('Extension', {
            icon: chrome.extension.getURL('/img/128.png'), body: message });
        setTimeout(notification.close.bind(notification), interval);
    }
}

我知道以上是最新支持的代码,而不是此处记录的弃用代码:https://developer.mozilla.org/en-US/docs/Web/API/Notification/requestPermission

FireFox确实请求我的许可。有谁知道为什么?可能是因为我在开发者模式下测试它并没有发布?

在调试模式下,浏览器执行以下行:Notification.requestPermission().then(function (permission) { 然后正常退出,但我没有被要求获得许可。

1 个答案:

答案 0 :(得分:1)

从扩展程序中,您应该使用webextensions通知api: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/notifications