Javascript localStorage и домены - PullRequest
       3

Javascript localStorage и домены

11 голосов
/ 01 декабря 2010

Поскольку iPad / iPhone не поддерживает файлы cookie со сторонних сайтов, я хочу сохранить значения в localStorage.Примером для domainA может быть:

<script src="http://domainB/something.js"></script>

этот скрипт на domainB может получить доступ к window.localStorage, и он прекрасно работает.Однако значения хранятся в домене A, потому что это местоположение документа.

Если я помещу свой сценарий в iframe, источник которого находится в domainB, тогда он работает, но я стараюсь избегать фреймов.Итак, мой вопрос: есть ли способ получить / установить значения в localStorage в удаленном домене так, чтобы они были там, когда я зайду в domainB позже?

1 Ответ

5 голосов
/ 13 января 2011

Это невозможно без вашего обходного решения iframe.

Возможность доступа к одному и тому же объекту localStorage из нескольких доменов нарушит одну и ту же политику происхождения, а спецификация:

Пользовательские агенты должны вызывать исключение SECURITY_ERR всякий раз, когда кто-либо из членовобъект хранилища, первоначально возвращенный атрибутом localStorage, доступен сценариями, чье действительное происхождение сценария не совпадает с происхождением объекта Document of Window, к которому был получен доступ к атрибуту localStorage.

http://dev.w3.org/html5/webstorage/#security-localStorage

Если бы не iPhone, я бы предложил флэш-решение.Но с localStorage, я думаю, вам не повезло, пока они не внедрили междоменную политику.

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