Сбой Service Worker - перенаправленный ответ, пока RedirectMode не «следует» - PullRequest
0 голосов
/ 24 апреля 2018

Браузер: Firefox 58.0.2 (64-разрядная версия)

Я пытаюсь написать очень простой сервисный работник для кэширования контента в автономном режиме, следуя указаниям здесь и здесь .

Когда я загружаю страницу в первый раз, работник службы установлен правильно. Я могу подтвердить, что он работает, посмотрев о: отладке # работники.

Однако, в этот момент, если я пытаюсь обновить страницу (в сети или в автономном режиме) или перейти на любую другую страницу сайта, я получаю следующую ошибку:

Сайт по адресу https://[my url] испытал сетевой протокол нарушение, которое не может быть устранено.

Невозможно отобразить страницу, которую вы пытаетесь просмотреть, поскольку в передача данных была обнаружена.

Пожалуйста, свяжитесь с владельцами сайта, чтобы сообщить им об этой проблеме.

Консоль показывает эту ошибку:

Не удалось загрузить ‘https://[my url]’. ServiceWorker передал перенаправленный ответ FetchEvent.respondWith (), а RedirectMode не является «follow».

В Chrome я получаю это:

Uncaught (в обещании) TypeError: Не удалось выполнить «выборку» для «ServiceWorkerGlobalScope»: невозможно создать запрос с запросом, режим которого «навигация» и непустой RequestInit.

В этой теме я добавил параметр {redirect: "follow"} в функцию fetch (), но безрезультатно.

(Да, я вручную удалил Service Worker со страницы about: debugging после внесения изменений.)

Однако из того, что я понимаю, проблема заключается в ответе, а не в извлечении, верно? И это из-за того, что мой сервер выдает перенаправление при обслуживании запрошенного контента?

Так, как мне справиться с перенаправлениями в сервисном работнике? Очевидно, что они будут, и я все еще хочу кэшировать данные.

1 Ответ

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

Частично выделено из https://superuser.com/a/1388762/84988

Иногда у меня возникает проблема с Gmail с Waterfox 56.2.6 на FreeBSD-CURRENT.(Waterfox 56 был основан на Firefox 56.0.2.) Иногда при простой перезагрузке страницы;иногда при загрузке страницы в восстановленном сеансе;и так далее.

FetchEvent.respondWith () |MDN начинается с предупреждения:

Это экспериментальная технология

На первый взгляд, две ошибки, найденные https://bugzilla.mozilla.org/buglist.cgi?quicksearch=FetchEvent.respondWith%28%29 не связаны.

В Интернете есть многочисленные сообщения от пользователей Gmail с Firefox о Ошибка поврежденного содержимого , нарушение сетевого протокола и т. Д. Найдено:

...