我有一個簡單的擴展運行在後臺模式(基本上是示例鉻客戶端gcm代碼)。當我運行chrome時,當我向擴展程序發送gcm消息時,消息收到的很好。如果我然後關閉chrome,發送gcm消息到相同的reg id,然後重新啓動chrome,則不會收到消息。人們會期望onMessage在擴展開始時被調用(並且添加onMessage監聽器)。爲什麼不是這種情況?鉻擴展離線gcm消息沒有收到
0
A
回答
0
Background pages必須在擴展清單中註冊。如果你需要在你的後臺頁面指定HTML,你可以做,使用頁面屬性:
manifest.json的
{
"name": "My extension",
...
"background": {
"page": "background.html"
},
...
}
除此之外,因爲我不知道你已經在你的代碼中,我也可以添加關於服務工作者。如在Implementing Push Messaging for Chrome中所討論的,需要註冊服務工作者來實現針對網絡的推送消息。
這樣做的原因是:在收到推送消息時,瀏覽器可以啓動一個服務人員,它在後臺運行,而不需要頁面被打開,並分派事件,這樣就可以決定如何處理推送消息。
要充分了解服務工作者的功能,你可能會經歷Introduction to Service Worker並在此SO後給出的解決方案 - GCM messages not getting delivered to Chrome Packaged Apps(offline mode)可能會爲你工作了。
相關問題
- 1. GCM消息沒有收到
- 2. GCM沒有收到短消息
- 3. 當我離開應用程序時沒有收到GCM消息
- 4. 消息傳遞鉻擴展
- 5. 使用GCM,沒有錯誤,但沒有收到消息
- 6. 鉻擴展消息傳遞沒有響應 - 告別:undefined
- 7. Tigase和xmpp,第一個離線消息沒有收到
- 8. 鉻擴展消息傳遞不工作在鉻://設置,鉻://擴展頁
- 9. Delphi線程沒有收到消息
- 10. 本地消息響應擴展鉻
- 11. 鉻擴展沒有注入Javascript到iframe
- 12. GCM推送通知設備沒有收到消息
- 13. 設備沒有收到來自Google GCM的消息
- 14. 當收到消息時,GCM沒有喚醒設備
- 15. SQSlistener沒有收到消息
- 16. 沒有收到C2DM消息
- 17. 我從gcm收到消息ID。但我沒有在模擬器上收到
- 18. GCM消息接收訂單
- 19. GCM應用程序未收到消息
- 20. 模擬器只收到GCM消息?
- 21. GCM在2.3.6中沒有收到消息,但在4.1.2中沒有問題
- 22. 鉻擴展從內容腳本發送消息到
- 23. 谷歌鉻擴展消息背景到上下文
- 24. Tigase:有時我收到兩次離線消息
- 25. 收聽Prosody離線消息目錄
- 26. 用Quickblox接收離線消息
- 27. 發送GCM後收到空推送消息上傳消息
- 28. 鉻擴展flickr沒有顯示圖像
- 29. MySQL沒有收到信息。使用MySQLi擴展
- 30. 通過本地消息從Chrome擴展接收消息
這是一個後臺腳本,在清單中設置了「背景」權限。我對使用服務工作者不感興趣,因爲它不是一個網頁或應用程序,它是一個擴展,我只使用gcm。另一個鏈接沒有幫助。您可以在linkymclinkface.com上查看並查看擴展代碼。如果瀏覽器打開,則收到的郵件正常。如果瀏覽器關閉並向其發送消息,則當瀏覽器重新打開時,不會收到「脫機」消息。瀏覽器啓動時,onMessage事件不會針對「離線」gcm消息觸發。 – 2fours