Firefox, похоже, не удается зарегистрировать ServiceWorker для push-уведомлений? - PullRequest
0 голосов
/ 25 декабря 2018

Похоже, что Firefox не удается зарегистрировать ServiceWorker для push-уведомлений с ошибкой "InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable", но код работает в Chrome и Edge и, по-видимому, соответствует онлайн-примерам и спецификации.

Я привел пример на одном из моих тестовых сайтов, https://wiegandtech.net/ - посещение его в Chrome запросит разрешение, а затем успешно подтвердит отправку информации на сервер.Но Firefox запрашивает, не завершает регистрацию, не выдает никаких ошибок и не бросает что-либо в консоль.Когда я пытаюсь отладить, он, кажется, никогда не возвращается из navigator.serviceWorker.ready.then вызова - я отлаживаюсь, и reg не определено, хотя обещание говорит, что это не должно быть.Я не могу найти причину, почему это терпит неудачу.Я вижу в Fiddler, что FF получает рабочий файл, поэтому он, кажется, начинает вызов, но никогда не завершает?Насколько я могу судить, рабочий действительно JavaScript.У кого-нибудь есть документация о том, как реализация Firefox отличается от Chrome / спецификации?

1 Ответ

0 голосов
/ 26 декабря 2018

Firefox требует, чтобы URL-адрес ServiceWorker заканчивался на .js - я использовал сайт ASP.Net и возвращал javascript, но через свой собственный контроллер.Когда я просто даю ему URL для самого файла .js, он теперь работает.Будет сообщать об ошибке, но это слишком нетривиально для настройки сайта, учитывая, что ServiceWorkers требует наличия реального сайта для устранения неполадок, а их исходный код, по-видимому, отсутствует на github.

...