Подтвердить что ты не робот

Javascript localStorage и домены

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

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

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

Если я поместил свой script в iframe, источник которого находится на домене B, то он работает, но я стараюсь избегать кадров. Поэтому мой вопрос: есть ли способ получить/установить значения в localStorage в удаленном домене, чтобы они были там, когда я позже нахожусь в домене?

4b9b3361

Ответ 1

Это невозможно без обходного пути iframe.

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

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

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

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