В настоящее время я работаю над веб-приложением, которое находится в iframe в целях безопасности (для защиты пользовательских данных) и размещено на других веб-сайтах.Чтобы сохранить состояние сеанса для небезопасных данных, мы записываем некоторые данные в локальное хранилище для функциональности пользователя, т. Е., Запоминая цвет фона пользователя, мы сохраняем «backgroundColour» как «красный».
Однако я столкнулся со следующими двумя проблемамина iOS Safari, который в настоящее время работает на MacOS Safari, Chrome и Internet Explorer 11.
Выпуск 1 : локальное хранилище не сохраняется при принудительном выходе из iOS
- Пользователь переходит на веб-сайт хоста
www.host.com
, который загружает содержимое моего iframe из другого домена, www.example.com
- Затем пользователь взаимодействует с iframe и сохраняет свои настройки цвета фона, которые я сохраняю в локальном хранилище.,
- Затем пользователь принудительно выходит из Safari или уходит, а затем принудительно выходит из Safari.
- Перейдите обратно на веб-сайт хоста
Ожидаемое поведение: localStorage содержит свойство backgroundColour
Фактическое поведение: локальное хранилище пусто
Проблема 2 : при использовании контента iframe на разных сайтах не используется локальное хранилище
- Пользователь переходит на веб-сайт хоста
www.host.com
, который загружает мой контент iframe издругой домен, www.example.com
- Затем пользователь взаимодействует с iframe и сохраняет свои настройки цвета фона, которые я сохраняю в локальном хранилище.
- Пользователь переходит на www.awesomesite.com, на котором также содержится содержимое iframe из домена на шаге 1,
www.example.com
Ожидаемое поведение: локальное хранилище сохраняется междуразные сайты, потому что хранилище находится против DNS iframe
Фактическое поведение: локальное хранилище пусто
Кто-нибудь сталкивался с этим раньше?Есть ли обходные пути, которые люди нашли?Это ошибка в iOS Safari?Я сделал что-то не так?
Приветствия