1

我正在構建Firefox插件(使用addon-SDK),我想向用戶顯示桌面通知。 有Notification object,但它似乎沒有工作從附加代碼(背景頁)。沒有錯誤等,但沒有顯示權限對話框,因此不能顯示通知。我嘗試過添加權限/桌面通知,但沒有效果。Firefox - 顯示來自擴展程序/插件的Web通知

編輯:粘貼示例代碼我試過(代碼位於回調函數內的socket.io事件事件是正常接收,但不顯示通知,或要求許可

 Notification.requestPermission(function(status) { 
     console.log(status); // notifications will only be displayed if "granted" 
     var n = new Notification("title", {body: "notification body"}); // this also shows the notification 
    }); 

。我也發現alerts service這一個工作,但警報消失得很快(對我來說太快) - 編輯:這是它的工作方式 - 所以猜測沒有代碼示例需要,因爲我沒有看到任何選項,使他們持續更長的時間。

有沒有什麼辦法可以在Firefox上顯示Chrome的通知?(chrome.notifications.create)或者至少使用我們b通知對象從插件內?

+0

你已經試過了什麼?在問題中加入一些代碼,我們可以更容易地爲您提供幫助。 – ArtOfCode 2014-11-03 18:22:51

+0

我編輯了像@ArtOfCode建議的原始問題,但我不認爲這裏的代碼示例具有真正的意義,因爲它非常默認從網頁上的文檔工作,不能與插件一起使用。不知道我是否可以更清楚一點。 – gemini 2014-11-03 18:32:50

+0

您可能想看看[Firefox插件文檔](https://developer.mozilla.org/en/Add-ons/SDK),特別是[顯示彈出窗口](https://developer.mozilla)。 org/en-US/Add-ons/SDK/Tutorials/Display_a_Popup) – ArtOfCode 2014-11-03 18:35:15

回答

1

如果您使用的是附加SDK,那麼您正在查看錯誤的文檔。這裏是notification docs

您創建了一個通知,像這樣:

var notifications = require("sdk/notifications"); 
notifications.notify({ 
    title: "Jabberwocky", 
    text: "'Twas brillig, and the slithy toves", 
    data: "did gyre and gimble in the wabe", 
    onClick: function (data) { 
    console.log(data); 
    } 
}); 

所有你看應該是developer.mozilla.org/en-US/Add-ons/SDK一個子集的文檔。

+0

還有一個問題 - 也許你會知道的。調用多個通知的正確方法是什麼?調用notifications.notify()逐行導致沒有通知顯示。而且我只收到錯誤「### !!! [Child] [DispatchAsyncMessage]錯誤:路由錯誤:發送給未知演員ID的消息」,Google搜索沒有給出解釋。不確定這是否可以防止多重通知? – gemini 2014-11-04 18:51:08

+1

@gemini在谷歌搜索之上,你應該搜索我已經提供的MDN鏈接和StackOverflow。看看[第二個搜索結果](http://stackoverflow.com/search?q=notifications+ [firefox-addon-sdk])。 此外,如果您有新問題,最好開始一個新問題,而不是在評論中跟進。 – willlma 2014-11-04 19:17:28

+0

感謝您澄清並指出搜索結果。看起來像本地搜索在這裏給谷歌更好的結果。 – gemini 2014-11-04 19:53:06