У нас есть веб-приложение, которое работает в Facebook (т.е. работает в iFrame в другом домене). Если у пользователя Safari есть файлы cookie и данные веб-сайта, установленные по умолчанию, "Разрешить с веб-сайтов, которые я посещаю", данные, которые мы храним через localStorage.setItem, действуют как sessionStorage, то есть недоступны за пределами текущего сеанса пользователя (т.е. После закрытия пользователя вкладку). Если мы изменим настройку на "Всегда разрешать", она отлично работает, как в Chrome, IE и т.д.
В качестве теста мы попытались перевести браузер в наш домен приложения (https://ourappname.appspot.com), и он отлично работает. А также тогда это должен быть действительно посещаемый веб-сайт, но, возвращаясь к игре в Facebook, проблема все еще существует.
Обратите внимание, что вызов setItem преуспевает, просто он не возвращает ничего в последующем сеансе. (Так что это не нравится, когда пользователь является частным Просмотр, а сам вызов setItem терпит неудачу с ошибкой с превышением квоты.)
Что нам нужно сделать для поддержки Safari, чтобы наше приложение, работающее в Facebook, могло использовать localStorage, как предполагалось, где данные будут выживать между сеансами?