У меня есть простое расширение, работающее в фоновом режиме (в основном образец хром-клиента gcm-кода). Когда я отправляю gcm-сообщение на мое расширение, а chrome работает, сообщение получает штраф. Если я затем закрою хром, отправьте gcm-сообщения на один и тот же reg id, затем перезапустите chrome, сообщения не будут получены. Можно было бы ожидать, что onMessage будет вызываться, когда начнется добавление (и добавлен слушатель onMessage). Почему это не так?chrome extension offline gcm сообщений не получено
ответ
Background pages должно быть зарегистрировано в манифесте продления. Если вам необходимо указать HTML в фоновой странице, вы можете сделать это с помощью свойства страницы:
manifest.json
{
"name": "My extension",
...
"background": {
"page": "background.html"
},
...
}
В дополнение к этому, так как я не уверен, что вы уже в вашем коде, я мог бы также добавить об обслуживании. Как обсуждалось в Implementing Push Messaging for Chrome, регистрация рабочего сотрудника необходима для реализации push-сообщений для сети.
Причина этого в том, что при получении push-сообщения браузер может запустить служебного работника, который работает в фоновом режиме без открытой страницы и отправляет событие, чтобы вы могли решить, как обрабатывать это push-сообщение.
Чтобы полностью понять функции работника службы, вы можете пройти через Introduction to Service Worker и решение данного в этом SO поста - GCM messages not getting delivered to Chrome Packaged Apps(offline mode) может работать для вас тоже.
- 1. Сообщение GCM не получено
- 2. chrome extension родное сообщение не получено в C# app
- 3. GCM Push Уведомление не получено
- 4. укладка i18n сообщений в chrome extension
- 5. Передача сообщений X11/DBUS из Chrome Extension?
- 6. Уведомление GCM получено, но не отображается
- 7. GCM отправлено, но не получено всегда
- 8. Chrome Extension не сохраняется
- 9. Нет данных в GCM Получено уведомление
- 10. Chrome - Offline Pages
- 11. Offline Расширения Google Chrome
- 12. Служба сообщений Java - сообщение не получено
- 13. Активировать страницу расширения Chrome Extension через сообщение
- 14. Chrome Extension не выполняется полностью
- 15. XMLHTTPREQUEST chrome extension не работает
- 16. Chrome Extension - не указываю форма
- 17. google chrome extension: не бросать ошибки?
- 18. Статические объекты не всегда там, когда получено сообщение GCM
- 19. Получить несколько сообщений GCM
- 20. Начать работу, когда получено сообщение GCM
- 21. Chrome Extension - От DOM до Popup.js передачи сообщений
- 22. Отладка Chrome Chrome Extension Javascript
- 23. Разработка Chrome Extension изнутри Chrome
- 24. Сообщение получено несколько раз от gcm
- 25. ejabberd Управление архивом сообщений XMPP: сообщение не получено
- 26. Удаленное изображение не получено в chrome-app
- 27. Chrome offline wont use cache.manifest
- 28. Chrome Extension, результат chrome.tabs.query не определен
- 29. Overlay Chrome Extension Angular
- 30. chrome extension обнаружить ERR_PROXY_CONNECTION_FAILED
Это фоновый скрипт с разрешением «фон», установленным в манифесте. Я не заинтересован в использовании сервисного работника, поскольку это не веб-страница или приложение, это расширение, и я использую только gcm. Другая ссылка не помогает. Вы можете проверить это на linkymclinkface.com и увидеть код расширения. Если браузер открыт, сообщения получаются в порядке. Если браузер закрыт и сообщения отправляются на него, при повторном открытии браузера сообщения «офлайн» не принимаются. Событие onMessage не запускается для сообщений «offline» gcm при запуске браузера. – 2fours