Передача данных между кадрами с помощью Javascript

Я установил простой пример на http://ryanmalin.co.uk/frames/.

Если вы нажмете «добавить», данные формы будут вставлены из левого фрейма в правый фрейм.

Когда я меняю правильный URL-адрес фрейма на другой домен, Firebug выдает ошибку, и он не работает. Показанная ошибка:

Ошибка: Отказано в доступе к свойству "документ"

Можно ли скопировать данные из одной предварительно заполненной формы на моем домене в форму на другом домене с помощью фреймов/javascript?

Я считаю, что это мера защиты от спама, встроенная в браузеры или веб-сайты, но, если возможно, мне нужно обойти ее. Чтобы отправлять заказы клиентов через мою компанию по доставке посылок, я копировал каждое поле адреса одно за другим между двумя вкладками браузера - теперь, когда количество заказов увеличивается, мне нужно ускорить этот процесс, однако у курьера пока нет способа отправки все детали заказа дней сразу.

Я могу написать PHP, необходимый для получения сведений о заказе для левого фрейма, но не хочу тратить время, если невозможно сделать то, что я делаю после.

Огромное спасибо :)


person Ryan    schedule 24.08.2011    source источник
comment
Вам не разрешено взаимодействовать с фреймами, которые находятся в другом домене, через javascript, вам нужно будет использовать синтаксический анализ с помощью PHP   -  person ChrisK    schedule 24.08.2011


Ответы (2)


См. "Same Origin Policy" для описания того, как работает межфреймовая безопасность. Короче говоря, между фреймами в другом домене разрешено очень мало связи по соображениям безопасности. Вы не можете делать какие-либо прямые вызовы Javascript между фреймами в разных доменах.

HTML5 имеет новую систему обмена сообщениями, которая может безопасно передавать данные (а не прямые вызовы JS) между взаимодействующими фреймами в разных доменах. См. здесь и здесь для описания того, как работает обмен сообщениями HTML5.

person jfriend00    schedule 24.08.2011

Это невозможно. Это преднамеренное ограничение браузера в целях безопасности.

person nnnnnn    schedule 24.08.2011