WKWebView аналог сервисного работника - PullRequest
4 голосов
/ 12 марта 2019

Я пытаюсь реализовать часть приложения с подходом PWA, который прекрасно работает на Android, но не для iOS.Нам нужно иметь

  • доступность автономного контента
  • возможность динамического обновления контента (например, специальные предложения или около того).С сервисным работником мы показываем приглашение обновить веб-контент.

Как уже упоминалось здесь сервисные работники не поддерживаются в WKWebView (или UIWebView).Так есть ли аналоговое или альтернативное решение, такое как интеллектуальное управление кэшем?

Похоже, что можно сохранять некоторый веб-контент из приложения и иметь возможность обновлять его, если что-то изменится.Может уже есть framework/library/approach для этой цели?

РЕДАКТИРОВАТЬ Сервисные работники недоступны в WKWebView в iOS 11.3 - этот вопрос объясняет состояние ServiceWorkers в WKWebView,но альтернативы не дано.Я хотел бы обсудить любые альтернативные решения.

Одна вещь, которую я обнаружил: https://github.com/xtools-at/iOS-PWA-Wrapper. Похоже, что она работает на основе AppCache, но https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache#Browser_compatibility говорит, что она устарела и рекомендуется использовать SWвместо этого (это не вариант для PWA).

1 Ответ

1 голос
/ 02 апреля 2019

Поэтому, прежде чем WKWebView заставит сервис-работников работать, вы можете использовать AppCache (пока не полностью устаревший). Вы можете использовать this и взглянуть на исходную страницу в https://leasingrechnen.at Что они делают? Если в браузере нет сервисного работника, они загружают iframe, который указывает на страницу с внедренным файлом manifest.appcache, поэтому страница кэшируется.

...