通知在 FF Web 扩展中不起作用
Notification not working in FF Web Extension
我有一个浏览器扩展,我使用 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) {
然后正常退出,但我没有得到许可。
从扩展中,您应该使用 webextensions 通知 api:
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/notifications
我有一个浏览器扩展,我使用 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) {
然后正常退出,但我没有得到许可。
从扩展中,您应该使用 webextensions 通知 api: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/notifications