У меня есть страница с 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.
я получил следующее сообщение об ошибке: Ошибка: Отказано в доступе для доступа к собственности «valueOf» – Dido
Я пытался и обнаружил, что: вы не можете получить доступ к местоположению документов из разных напрямую (получая его значение) или опосредованно (путем установки его относительного местоположения - он станет относительным к настройке страницы ** ** - единственным исключением является установка хэша (# 123)). Так что фактический ответ: он работает в IE, потому что он не соответствует стандартам, а вторая часть - абсолютно нет. Вы должны попробовать разные способы общения - например, использовать междоменное postmessage (http://html5demos.com/postmessage2) или использовать другие методы междоменной связи, такие как http://easyxdm.net/wp/ –
Спасибо, я идти с postMessage – Dido