Объект window. Вывод сообщения в строку состояния Web-браузера
Объект window — это объект самого верхнего уровня, представляющий сам Web-браузер. Объект window подразумевается по умолчанию, поэтому указы- вать ссылку на объект не обязательно.
Свойства объекта window:
? defaultStatus — сообщение, выводимое по умолчанию в строке состояния;
window.defaultStatus = "Текст по умолчанию в строке состояния";
? status — сообщение, отображаемое в строке состояния;
window.status = "Текст в строке состояния";
? length — число фреймов, отображаемых в данном окне. Для примера создадим документ с фреймами и выведем в диалоговом окне количество фреймов. Для этого создадим основной документ с фреймовой структу- рой (листинг 3.43) и два файла — doc1.html (листинг 3.44) и doc2.html (листинг 3.45).
Листинг 3.43. HTML-документ, описывающий фреймовую структуру (test.html)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Заголовок</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-
1251">
</head>
<frameset rows="100, *">
<frame src="doc1.html" name="frame1">
<frame src="doc2.html">
</frameset>
</html>
Листинг 3.44. HTML-документ фрейма 1 (doc1.html)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Заголовок</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-
1251">
</head>
<body>
<h3>Фрейм 1</h3>
</body>
</html>
Листинг 3.45. HTML-документ фрейма 2 (doc2.html)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Заголовок</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-
1251">
</head>
<body>
<h3>Фрейм 2</h3>
<script type="text/javascript">
<!-
window.alert(top.length); // Выведет 2 window.alert(window.length); // Выведет 0 window.alert(top.frame1.length); // Выведет 0
//->
</script>
</body>
</html>
Откроем в Web-браузере файл test.html. В итоге появится окно с количе- ством фреймов основного окна (2). Обратите внимание, как мы обрати- лись к свойству length объекта window из документа фрейма 2:
top.length
Что же такое top? Это свойство объекта window, возвращающее ссылку на самое верхнее родительское окно. Закроем диалоговое окно с первым сообщением. После этого появится еще одно окно с числом 0, которое возвращается свойством window.length.
Но почему, указав объект window, представляющий окно Web-браузера, мы получили количество фреймов HTML-документа doc2.html? Все дело в том, что в этом случае window — это не объект, а лишь свойство одно- именного объекта, которое возвращает ссылку на текущее окно. Все свойства, возвращающие ссылку, описаны далее. Последнее диалоговое окно, также отображающее 0, демонстрирует возможность доступа к фрейму 1 из фрейма 2:
top.frame1.length
? parent — ссылка на родительское окно;
? self — ссылка на текущее окно;
? top — ссылка на самое верхнее родительское окно;
? window — то же, что self, ссылка на себя;
? opener — ссылка на окно, открывшее данное;
? name — имя окна или фрейма;
? closed — позволяет определить, открыто или закрыто окно. Возвращает
true — если открыто, и false — если закрыто;
? screenLeft — горизонтальная координата левого верхнего угла окна.
В Web-браузере Firefox нет свойства screenLeft. Вместо него использу-
ется свойство screenX;
? screenTop — вертикальная координата левого верхнего угла окна.
В Web-браузере Firefox нет свойства screenTop. Вместо него использует-
ся свойство screenY;
? clientInformation — браузер (объект navigator).
В некоторых Web-браузерах (например, в Firefox и Opera) определены до-
полнительные свойства:
? pageXOffset — число пикселов, на которое документ прокручен вправо.
В Web-браузере Internet Explorer нет свойства pageXOffset. Вместо него можно использовать свойство scrollLeft объекта document;
? pageYOffset — число пикселов, на которое документ прокручен вниз.
В Web-браузере Internet Explorer нет свойства pageYOffset. Вместо него можно использовать свойство scrollTop объекта document. Пример:
// Для Firefox и некоторых других Web-браузеров
var msg = "pageXOffset " + window.pageXOffset + "\n";
msg += "pageYOffset " + window.pageYOffset + "\n";
// Для IE >= 6, если есть тег <!DOCTYPE>
msg += "scrollLeft " + document.documentElement.scrollLeft;
msg += "\n"+"scrollTop "+document.documentElement.scrollTop;
// Для IE < 6 и для IE >= 6, если нет тега <!DOCTYPE>
msg += "\n" + "scrollLeft " + document.body.scrollLeft + "\n"; msg += "scrollTop " + document.body.scrollTop; window.alert(msg);
? innerWidth — ширина окна в пикселах. Размер не включает ширину полос прокрутки. В Web-браузере Internet Explorer нет свойства inner- Width. Вместо него можно использовать свойство clientWidth объекта document;
? innerHeight — высота окна в пикселах. Размер не включает высоту строки меню и панели инструментов. В Web-браузере Internet Explorer нет свойства innerHeight. Вместо него можно использовать свойство clientHeight объекта document;
? outerWidth — полная ширина окна в пикселах, включая ширину полос прокрутки. В Web-браузере Internet Explorer нет свойства outerWidth;
? outerHeight — полная высота окна в пикселах, включая высоту строки меню и панели инструментов. В Web-браузере Internet Explorer нет свой- ства outerHeight.
Свойства, предназначенные для назначения обработчиков событий:
? onload — вызывается после загрузки Web-страницы;
? onunload — вызывается непосредственно перед выгрузкой документа;
? onscroll — вызывается при прокручивании содержимого окна или фрейма;
? onresize — вызывается при изменении размеров окна;
? onblur — вызывается, когда окно теряет фокус;
? onfocus — вызывается, когда окно получает фокус;
? onerror — вызывается при возникновении ошибки в коде JavaScript.
В качестве значения указывается ссылка на функцию следующего формата:
function <Название>(<Описание>, <URL>, <Номер строки>) {
// return true; // Если ошибка обработана
// return false; // Если ошибка не обработана
}
Внутри функции необходимо вернуть значение true, если ошибка обра-
ботана, или false — в противном случае. Пример:
window.onerror = function(e, u, n) {
window.alert(e + "\n" + u + "\n" + n + "\n");
return true; // Якобы обработали
}
Объекты, являющиеся свойствами объекта window:
? document — объект document (см. разд. 3.17.10);
? event — объект event. Этот объект уже был рассмотрен нами при изуче-
нии событий (см. разд. 3.16.10);
? history — объект history (см. разд. 3.17.9);
? location — объект location (см. разд. 3.17.8);
? navigator — объект navigator (см. разд. 3.17.6);
? screen — объект screen (см. разд. 3.17.7).
Методы объекта window:
? alert() отображает окно сообщения (см. разд. 3.4.1);
? confirm() выдает окно подтверждения (см. разд. 3.4.2);
? prompt() показывает окно с полем ввода (см. разд. 3.4.3);
? open() открывает новое окно Web-браузера (см. разд. 3.17.3);
? showModalDialog() отображает модальное диалоговое окно (см. разд. 3.17.4);
? close() закрывает окно;
? blur() удаляет фокус с окна и генерирует событие onblur;
? focus() переносит фокус на текущее окно и генерирует событие onfocus;
? navigate(<URL-адрес>) загружает в окно страницу, адрес которой указан в параметре. В Web-браузере Firefox нет метода navigate();
? stop() прерывает загрузку страницы. В Web-браузере Internet Explorer
нет метода stop();
? resizeBy(<x>, <y>) изменяет размеры окна на заданное число пикселов;
? resizeTo(<Ширина>, <Высота>) устанавливает размеры окна в пикселах;
? moveBy(<x>, <y>) перемещает окно (по x — вправо, по y — вниз, а если указаны отрицательные значения, то наоборот);
? moveTo(<x>, <y>) перемещает окно, чтобы верхний левый угол попал в заданную точку с координатами x и y;
? scrollBy(<x>, <y>) прокручивает окно на заданные расстояния;
? scrollTo(<x>, <y>) прокручивает содержимое окна в точку с координа-
тами x и y.
Кроме того, имеются 4 метода для работы с таймерами, которые мы рассмот-
рим в разд. 3.17.5.
Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)
Похожие посты:
- Создание блока с закругленными краями (0)
- Изменение высоты строки (межстрочного интервала) в тексте (0)
- Изменение стиля горизонтальной линии (0)
- Вывод текста с отступом (0)
- Вывод текста заглавными буквами с помощью CSS (0)
- Как изменить способ размножения фонового изображения (0)
- Изменение вида курсора (0)