Обращение к свойствам, методам и обработчикам
Вы можете обратится к свойства, методам и обработчикам текущего или другого окна (если другое окно именовано) через использование одной из следующих техник:
- self или window: self и window являются синонимами текущего окна, и вы можете использовать их по выбору для обращения к текущему окну. Например, вы можете закрыть текущее окно, вызвав window.close() или self.close().
- top или parent: top и parent также являются синонимами, которые могут использоваться как имена окна.
top можно использовать для любого окна; оно ссылается на самое верхнее окно Navigator'а.
parent можно использовать для фрэйма; оно ссылается на окно с тэгом
frameset, содержащее данный фрэйм. Например, для фрэйма
frame1, оператор
parent.frame2.document.bgColor="teal" изменяет фон фрэйма
frame2 на
teal, где
frame2 это дочерний фрэйм текущего
frameset.
- Имя переменной окна: переменная окна это переменная, специфицированная при открытии окна. Например, msgWindow.close() закрывает окно msgWindow.
- Отсутствие имени окна: поскольку существование текущего окна подразумевается, вы не обязаны обращаться к окну по имени, когда вызываете его методы и присваиваете значения свойств. Например, close() закрывает текущее окно. Однако, когда вы открываете или закрываете окно обработчиком события, вы обязаны специфицировать window.open() или window.close() вместо простого open() или close(). Из-за области видимости static-объектов в JavaScript, вызов close() без специфицирования имени объекта эквивалентен document.close().
Пример 1: обращение к текущему окну. Следующий оператор ссылается на форму
musicForm в текущем окне. Оператор выводит диалог
alert, если
переключатель/checkbox отмечен.
if (document.musicForm.checkbox1.checked) {
alert('The checkbox on the musicForm is checked!')}
Пример 2: обращение к другому окну. Следующие операторы ссылаются на форму
musicForm, находящуюся в окне
checkboxWin. Операторы определяют, выбран ли
checkbox, выбирают
checkbox, определяют, выбрана ли вторая опция объекта
Select, и выбирают вторую опцию объекта
Select. Даже если значения объектов изменяются в другом окне (
checkboxWin), текущее окно остаётся активным: отметка переключателя и выбор selection-опции не передают фокус окну.
if (checkboxWin.document.musicForm.checkbox2.checked) {
alert('The checkbox on the musicForm in checkboxWin is checked!')}
checkboxWin.document.musicForm.checkbox2.checked=true
if (checkboxWin.document.musicForm.musicTypes.options[1].selected)
{alert('Option 1 is selected!')}
checkboxWin.document.musicForm.musicTypes.selectedIndex=1
Пример 3: обращение к фрэйму в другом окне. Следующий оператор обращается к фрэйму
frame2, который находится в окне
window2. Оператор изменяет цвет фона
frame2 на
violet. Имя фрэйма,
frame2, обязано быть специфицировано в тэге
FRAMESET, создающем набор фрэймов.
window2.frame2.document.bgColor="violet"