Браузер предотвратит это, потому что домены разные.
Существует несколько приемов, которые можно использовать для связи между кадрами:
- Добавьте запись DNS для другого веб-сайта в домен внешнего веб-сайта (www.somewebsite.com и someapp.somewebsite.com). Затем используйте document.domain = "somewebsite.com" в JavaScript обеих страниц.
- Используйте HTML 5 postMessage () для связи между фреймами. Я знаю, что это работает в Firefox 3 и Internet Explorer 8, но не в IE7.
- Вы можете передавать простые сообщения на другую страницу, задав URL-адрес родительского окна.
Примечание: Похоже, что браузеры запрещают установку родительского URL. Этот метод будет работать только для односторонней связи между родителем и дочерним фреймом.
Объявление 3:
Вы не сможете прочитать URL другого фрейма, но вы можете установить его. Если вы измените URL на точно такую же страницу, но с компонентом #anchor к URL, страница фактически не перезагрузится:
window.frames["childFrame"].location.href = "http://www.somewebsite.com/#message"
Затем вам нужно будет добавить скрипт на внешнюю страницу, который регулярно опрашивает ее location.href и обрабатывает сообщения. Да, это некрасиво, но если все сделано правильно, оно будет работать во всех распространенных браузерах.