2013-03-26 4 views
3

У меня есть страница с iFrame. Я хочу изменить URL-адрес родителя.
В настоящее время я использую этот код:Изменить родительский URL-адрес страницы из iFrame работает в IE, но не в Firefox и Chrome

window.parent.location.href = window.parent.location.href + '?myParam=myValue' 

и он работает в IE 10, но не в Firefox или Chrome.
На Firefox я получаю следующее сообщение об ошибке:

Error: Permission denied to access property 'href'

страницы и IFrame доля хозяина, но на разных портах, поэтому в соответствии с Same origin policy не работать не будет.
Мой вопрос: почему он работает в IE и что делать, чтобы заставить его работать в других браузерах?

Edit: Следующие работает просто отлично:

window.parent.location.href = 'addressGoesHere.com?myParam=myValue'; 

в Mozilla Firefox.

ответ

2

Попробуйте

window.parent.location='?myParam=myValue'; 

Я попробовал и обнаружил, что вы не можете получить доступ расположения документов из различных непосредственно (получения его значение) или косвенно (путем установки его расположение относительно - это станет относительным к местоположению установки страницы - единственным исключением является установка хэша (# 123)).

Так фактический ответ:

он работает в IE, поскольку он не отвечает STANDARTS

и вторая часть - нет абсолютно никакой возможности. Вы должны попробовать различные методы общения - как с помощью междоменное PostMessage (http://html5demos.com/postmessage2) или с использованием других способов связи между доменами, как http://easyxdm.net/wp

+0

я получил следующее сообщение об ошибке: Ошибка: Отказано в доступе для доступа к собственности «valueOf» – Dido

+0

Я пытался и обнаружил, что: вы не можете получить доступ к местоположению документов из разных напрямую (получая его значение) или опосредованно (путем установки его относительного местоположения - он станет относительным к настройке страницы ** ** - единственным исключением является установка хэша (# 123)). Так что фактический ответ: он работает в IE, потому что он не соответствует стандартам, а вторая часть - абсолютно нет. Вы должны попробовать разные способы общения - например, использовать междоменное postmessage (http://html5demos.com/postmessage2) или использовать другие методы междоменной связи, такие как http://easyxdm.net/wp/ –

+0

Спасибо, я идти с postMessage – Dido

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