Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная 1-8.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
766 Кб
Скачать
☆

Обращение к окнам и фреймам

Имя, которое вы используете, чтобы обратиться к окну, зависит от того, обращаетесь ли вы к свойствам, методам, и обработчикам события окна или - обращаетесь к окну, как к строке, указывающей имя окна подчиненной формы или гиперсвязь.

Так как объект окна - верхнего уровня объект в JavaScript иерархии пользователя, окно необходимо для определения объектов в любом окне.

Обращение к свойствам, методам, и обработчикам события окна

Вы можете обращаться к свойствам, методам, и обработчикам события текущего окна или другого окна следующими из способов:

  • self или window. Self или window - синонимы для текущего окна, и вам необязательно использовать их, чтобы обратиться к текущему окну. Например, Вы можете закрыть текущее окно, используя или window.close () или self.close ().

  • top или parent. Top или parent - также синонимы, которые могут использоваться вместо имени окна. Top обращается к самому верхнему окну Navigator, и parent обращается к окну, содержащий frameset. Например, выражение parent.frame2.document.bgColor="teal" изменяет цвет фона фрейма с именем frame2 в teal; frame2 - фрейм в текущем frameset.

  • The name of a window variable. Variable окна - переменная, которая определена, когда окно открыто. Например, msgWindow.close () закрывает окно с именем msgWindow. Однако, когда Вы открываете или закрываете окно внутри обработчика события, то вы должны точно определить window.open () или window.close () вместо использованияopen() или close(). Из-за обзора статических объектов в JavaScript, обращение к close() без определения точного имени окна эквивалентно выражению document.close().

  • Omit the window name. Поскольку существование текущего окна принято, то вы не должны обращаться к имени окна, чтобы вызывать его метод и присвоить его свойству. Например, close() закрывает текущее окно.

Пример 1: обращение к текущему окну. Следующая выражение обращается к форме с именем musicForm в текущем окне. Выражение выдает предупреждение, если переключатель выбран.

if (self.document.musicForm.checkbox1.checked) {

alert('The checkbox on the musicForm is checked!')}

Пример 2: обращение к другому окну. Следующие выражения обращаются к форме с именем musicForm в окне checkboxWin. Выражения определяют, если выбран переключатель, отмечает переключатель, определят, если выбрана вторая опция объекта selected, выбирает вторую опция объекта selected. Даже при том, что значения объекта изменены вcheckboxWin, текущее окно остается активным: проверка переключателя и выбора опции отбора не дает фокус окну.

// Определят выбран ли переключатель

if (checkboxWin.document.musicForm.checkbox2.checked) {

alert('The checkbox on the musicForm in checkboxWin is checked!')}

// Отмечает переключатель

checkboxWin.document.musicForm.checkbox2.checked=true

// Определяет, выбрана ли опция в объекте select

if (checkboxWin.document.musicForm.musicTypes.options[1].selected)

{alert('Option 1 is selected!')}

// Выбирает опцию в объекте select

checkboxWin.document.musicForm.musicTypes.selectedIndex=1

Пример 3: обращение к фрейму в другом окне. Следующее выражение обращается к фрейму с именем frame2, который находится в окне с именем window2. Выражение изменяет цвет фона frame2 в фиолетовый. Имя фрейма frame2, должно быть определено в теге <FRAMESET>, который создает frameset.

Window2.frame2.document.bgColor = "violet"