Управление обработкой событий в другом фрейме

Управление выводом в другом фрейме

Работа с фреймами

При работе с фреймами можно выполнять следующие действия:

· управлять элементами и атрибутами Web-страницы, выводимой в другом фрейме;

· управлять обработкой событий в другом фрейме;

· управлять фреймами, выводимыми в окне Web-браузера.

При работе с фреймами можно использовать коллекцию frames, которая содержит элементы frame в порядке их следования в Web-странице, однако более удобным является определение элемента frame с помощью метода getElementById().

Для обращения в родительский фрейм используется свойство parent объекта window, а свойство top того же объекта позволяет получить доступ к самому верхнему уровню иерархии фреймов.

Пусть структура фреймов документа в файле main.html описывается следующими элементами HTML:

<frameset id="fs" cols="40%,*">

<frame src="left.html" name="leftFrame" id="left" />

<frame src="right.html" name="rightFrame"

id="right" />

</frameset>

Обратиться к элементу frameset из дочерних фреймов можно с помощью следующего предложения JavaScript:

var fsObj = window.parent.document.getElementById("fs");

Доступ к элементам другого фрейма можно получить, указав после свойства parent имя фрейма (значение атрибута name). Так, для того, во фрейме left можно определить элемент фрейма right c id="p1" с помощью следующего предложения JavaScript:

var p1RightObj =

parent.rightFrame.document.getElementById("p1");

Организовав таким образом доступ к элементам другого фрейма, можно использовать все свойства и методы DOM для получения значений свойств элементов, а также для изменения структуры элементов документа и их свойств, т.е. управлять элементами и атрибутами фреймов Web-страницы.

Пример 4.5.70. Изменение во фрейме значений свойств элементов другого фрейма:

Просмотр примера: Example4-5-70.html

Текст документа HTML: Example4-5-70

Частным, но важным случаем управления элементами, является возможность управлять обработкой событий в другом фрейме с помощью определения функции – обработчика данного события. Например, если во фрейме left задать обработчик события щелчка мыши по абзацу c id="p1" в right:

p1RightObj["onclick"] =

new Function("alert('p1 in right clicked')");

то при щелчке мышью по абзацу во фрейме left в диалоговом окне alert будет выведено сообщение "p1 in right clicked".

Пример 4.5.71. Управление событиями в другом фрейме:

Просмотр примера: Example4-5-71.html

Текст документа HTML: Example4-5-71


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: