0
我有一個瀏覽器擴展,我使用WebEx編碼使其在Chrome和FF/Edge中工作,無需移植。以下代碼在Chrome中完美運行。通知無法在FF Web Extension中工作
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) {
然後正常退出,但我不會被要求獲得許可。
你看看[權限](https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS/Manifest#權限)在MDN中?也許這是關於[桌面通知](https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Firefox_OS_apps/App_permissions#desktop-notification)的事情? –
我已經在清單文件中給出了「通知」權限 –
請編輯問題爲主題:包括一個重複問題的[mcve]。對於Chrome擴展程序或Firefox WebExtensions,這通常意味着包含您的* manifest.json *以及一些背景,內容和/或彈出式腳本/ HTML。尋求調試幫助的問題(「爲什麼代碼不按我想要的方式工作?」)必須包括:(1)期望的行爲,(2)特定問題或錯誤,以及(3)重現它所需的最短代碼*在問題本身*。另請參閱:[我可以在這裏詢問什麼主題?](http://stackoverflow.com/help/on-topic)和[問]。 – Makyen