Объект window. Вывод сообщения в строку состояния Web-браузера

Опубликовал: Среда, Май 2, 2012 в категории HTML | Пока нет комментариев

Объект 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) — (Профессиональное программирование)

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>