PWA на iOS 12 больше не делит кэш Service Worker с Safari? - PullRequest
0 голосов
/ 28 августа 2018

Для PWA на iOS 11 мы решили внешнюю регистрацию сторонних производителей, открытую в Safari, сохраняя данные для входа в веб-кэш сервисного работника.

Это больше не работает в iOS 12 (в бета-версии на момент написания). Я думаю, это должно быть потому, что у PWA теперь есть собственный кэш рабочего сервиса, который он больше не использует совместно с Safari, но я не могу это подтвердить.

Кто-нибудь знает, есть ли способ разделить кэш рабочего сервиса между safari и PWA? Обратите внимание, что мы уже пробовали IndexedDB, но это не общедоступный файл, и, конечно же, файлы cookie отсутствуют.

Насколько я могу судить, это означает, что PWA полностью изолирован от Safari, и нет возможности заставить сторонний вход в систему работать. Любые решения?

1 Ответ

0 голосов
/ 31 июля 2019

Я спросил в Твиттере Джонатана Дэвиса (Евангелист веб-технологий для Apple) об этом вопросе. Он говорит, что веб-приложения на iOS (приложения «Сохранить на домашний экран») не используют хранилища данных совместно с Safari. Они работают как отдельное приложение отдельно от Safari, и у них нет возможности обмениваться данными между ними на устройстве.

В качестве возможного решения, которое может вас устроить, я предлагаю статью Мачей Капуты. По словам автора, идея состоит в том, чтобы создать поддельную конечную точку в сервисном работнике, которая бы сохраняла данные в кеше по запросу POST и возвращала кэшированные данные по запросу GET. Ссылка на эту статью https://www.netguru.com/codestories/how-to-share-session-cookie-or-state-between-pwa-in-standalone-mode-and-safari-on-ios.

Надеюсь, этот ответ был полезен!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...