Метод связи отличается в зависимости от того, связан ли атрибут SRC в IFRAME с одной и той же доменной или перекрестной связью.
1. Общение между страницами отца и сына под одной и той же доменом
Родительская страница parent.html
Кода -копия выглядит следующим образом:
<html>
<голова>
<script type = "text/javascript">
функция говорит () {
Alert ("parent.html");
}
функция callchild () {
myframe.window.say ();
myframe.window.document.getElementbyId ("кнопка"). value = "call End";
}
</script>
</head>
<тело>
<input id = "кнопка" type = "value =" Вызовите функцию в child.html Shode () "onclick =" callchild () "/>
<iframe name = "myframe" src = "child.html"> </iframe>
</body>
</html>
Ребенок.html
Кода -копия выглядит следующим образом:
<html>
<голова>
<script type = "text/javascript">
функция говорит () {
оповещение ("Child.html");
}
function callparent () {
parent.say ();
parent.window.document.getElementByid ("button"). value = "call End";
}
</script>
</head>
<тело>
<input id = "кнопка" type = "value =" Call Call Say () функция в parent.html "onclick =" callparent () "/>
</body>
</html>
Метод вызов
Страница родителей вызывает метод страницы ребенка: FrameName.window.childMethod ();
Страница дочерней страницы вызывает метод родительской страницы: parent.window.parentmethod ();
Доступ к элементам DOM
После получения объекта Window.document на странице вы можете получить доступ к элементу DOM.
Что следует отметить
Чтобы убедиться, что операция выполняется после загрузки IFRAME, если IFRAME еще не загружен, начните вызывать методы или переменные внутри, возникнет ошибка. Есть два способа определить, загружается ли iframe:
1. Используйте событие Onload на iframe
2. Используйте Document.ReadyState == «Завершить», чтобы судить
2. Метод связи между доменом родителей-сын
Если iframe связывает внешнюю страницу, метод связи под одним и тем же доменным именем не может быть использован, поскольку механизм безопасности не используется.
Родительская страница передает данные на дочерние страницы
Метод реализации состоит в том, чтобы использовать хеш -значение объекта местоположения и передавать данные связи через него. Добавьте дополнительную строку данных после SRC IFRAME на родительской странице, а затем в некотором смысле вы можете получить данные здесь мгновенно, например:
1. Установите таймер в подпадке через метод SetInterval, прослушивайте изменения в местоположении.
2. Затем подпадка выполняет соответствующую логическую обработку на основе этой информации данных.
Страница ребенка передает данные на родительскую страницу
Метод реализации состоит в том, чтобы использовать прокси -карамец, который встроен в детскую страницу и должна оставаться в том же домене, что и родительская страница. Затем, благодаря этому, он полностью использует принцип реализации первого метода связи выше, передает данные страницы ребенка в прокси -iframe. Затем, поскольку прокси IFRAME и главная страница находятся в одном домене, главная страница может получить эти данные, используя тот же домен. Используйте window.top или window.parent.parent, чтобы получить ссылку на объект окна верхнего уровня браузера.