Сервисный работник - поддержка браузера - PullRequest
1 голос
/ 02 марта 2020

CanIUse и MDN , похоже, не согласны с поддержкой сервисного работника. В момент, когда Chrome собирается удалить поддержку appcach, мы пытаемся выяснить последствия перехода на Service Worker. Мы неправильно читаем две страницы?

Мы попробовали собственные образцы Google против комбинаций устройство / браузер, и результаты оказались неутешительными. Например, демонстрационная версия «Пользовательская автономная страница» не удалась в iOS Chrome (v80), где она работала в iOS Safari (12.4.5).

На страницах «Выборочное кэширование» и «Кэширование через чтение» четко видно, что «сервисный работник не поддерживается в текущем браузере» в Chrome 80. Он проверяет if («serviceWorker» в navigator) {, но в других примерах такое сообщение не показывается.

Все это сбивает с толку поддержку браузером работника службы. Существует ли универсально протестированный образец, который мы можем использовать в качестве эталона для различных комбинаций устройств и браузеров?

Can I use browser support

Ответы [ 2 ]

0 голосов
/ 02 марта 2020

Я спросил об этом Джейка Арчибальда из Google, и он ответил следующим сообщением SO, которое все еще должно быть действительным.

Chrome Сервисный работник iOS Поддержка

Поэтому, очевидно, Safari - единственный вариант на данный момент. Мне все еще интересно, что Google рекомендует разработчикам использовать после удаления поддержки AppCache.

Джейк продолжил, сказав, что они никак не могут добавить поддержку, поскольку Apple не дает им полных прав на iOS. Но он отметил, что appcache продолжит работать как обычно. Его точные слова:

«Однако, поскольку Chrome на iOS - это просто оболочка над Safari, appcache продолжит работать, пока работает в веб-просмотре Safari».

0 голосов
/ 02 марта 2020

на iOS только Safari поддерживает сервисных работников. Вы можете протестировать браузер, если он поддерживает этот код

if ('serviceWorker' in navigator) { /*supported*/  }
...