我有一个浏览器扩展程序,我使用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) {
然后正常退出,但我没有被要求获得许可。
答案 0 :(得分:1)
从扩展程序中,您应该使用webextensions通知api: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/notifications