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) { 然後正常退出,但我不會被要求獲得許可。

+0

你看看[權限](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)的事情? –

+0

我已經在清單文件中給出了「通知」權限 –

+0

請編輯問題爲主題:包括一個重複問題的[mcve]。對於Chrome擴展程序或Firefox WebExtensions,這通常意味着包含您的* manifest.json *以及一些背景,內容和/或彈出式腳本/ HTML。尋求調試幫助的問題(「爲什麼代碼不按我想要的方式工作?」)必須包括:(1)期望的行爲,(2)特定問題或錯誤,以及(3)重現它所需的最短代碼*在問題本身*。另請參閱:[我可以在這裏詢問什麼主題?](http://stackoverflow.com/help/on-topic)和[問]。 – Makyen

回答