2013-12-05 5 views
25

У меня есть функция javascript, которая будет выполняться в iframe моей страницы, чтобы установить localstorage. На другой странице другой iframe, размещенный в том же домене, попытается прочитать значение. Схема ниже:Iframe localStorage на Safari и Safari mobile

Domain A 
    |---- iframe - Domain B => Set localStorage 

Domain C 
    |---- iframe - Domain B => Read localStorage 

Обе функции LocalStorage (чтение и запись) размещаются на том же домене (домен B) на сафари и Safari мобильный, значение не передается от фрейма в странице А чтобы Iframe в стр. C. Он отлично работает в Chrome и Firefox. В Safari он действует так, как будто localStorage iframe является специфичным для домена главной страницы, а не передается через страницы, даже если домен iframe тот же. Неужели кто-то испытывает ту же проблему с локальным хранилищем на сафари?

+0

Да, у меня такая же проблема здесь. – adardesign

+0

Да, я хотел бы увидеть некоторую документацию, но не нашел ни одного – robC

ответ

13

Проблемы с Safari вызван «блоком печенье и другими данными сайта» привилегированными, который установлен в положении «от третьих сторон и рекламодателей» по умолчанию.

Update: на Safari 8, эта опция "Cookies и веб-сайт данные: Allow из сайтов я посещаю".

Ожидаемое поведение доступно только если пользователь устанавливает этот параметр «Никогда», как показано на следующем рисунке: http://i.stack.imgur.com/AP4ed.png

Маловероятно, что есть лазейка, к сожалению, - намерение установки ясна.

+0

Кто-нибудь знает, как делиться данными localStorage между доменами, когда «От третьих лиц и рекламодателей "установлен? –

+0

это не правильно. потому что есть такие сайты, как disqus и facebook, такие как кнопка, устанавливающая так много переменных в localstorage и cookie. должен быть способ, – Sahan

+0

Почему «cookies» доступны не «localStorage»? определенно ошибка, сафари должно это исправить. – Darshan

Смежные вопросы