Объект window
Что такое BOM?
BOM (Browser Object Model
) - объектная модель браузера.
BOM-интерфейс позволяет работать с окном браузера как с объектом, у которого имеются свои свойства и методы. Данным объектом является объект window (он же является глобальным объектом в JavaScript).
Некоторые браузеры открывают страницы не в отдельных окнах, а во вкладках одного окна. В этом случае каждая вкладка также имеет свой собственный объект window. Однако, при обращении к свойствам, которые не могут относиться к вкладкам (например, изменяющие размер окна браузера), автоматически используется общий объект window окна браузера. Например, если внутри отдельной вкладки происходит вызов метода window.resizeTo(), тогда window ссылается на общий объект окна браузера.
Объект window имеет много разнообразных свойств, но используются из них лишь некоторые. Весь список свойств можно получить с помощью простого кода:
<html>
<head>
<title>BOM-интерфейс</title>
</head>
<body>
</body>
</html>
<script>
var all = '';
for (var prop in window) {
all += window.prop + '\n';
}
alert(all);
</script>
Далее приведены описания наиболее востребованных свойств и методов объекта window.
Свойства объекта window
Параметры окна
innerHeight- Высота видимой части страницы, включая горизонтальную полосу прокрутки, в пикселях. Соответствует значению, получаемому media-запросом
в CSS.screen
innerWidth- Ширина видимой части страницы, включая вертикальную полосу прокрутки, в пикселях. Соответствует значению, получаемому media-запросом
в CSS.screen
outerHeight- Полная высота окна браузера в пикселях.
outerWidth- Полная ширина окна браузера в пикселях.
pageXOffset- Величина горизонтальной прокрутки в пикселях. Альтернативное свойство
window.scrollX. pageYOffset- Величина вертикальной прокрутки в пикселях. Альтернативное свойство
window.scrollY. screenX- Смещение левой границы браузера относительно левого края экрана в пикселях (аналогия с CSS-свойством
left). screenY- Смещение верхней границы браузера относительно верхнего края экрана в пикселях (аналогия с CSS-свойством
top).
Свойства-объекты
Методы объекта window
Общие
alert()- Вызывает модальное окно с предупреждением.
confirm()- Вызывает модальное окно с сообщением, требующим подтверждение или отмену пользователем.
prompt()- Вызывает модальное окно, требующее ввода информации от пользователя.
getComputedStyle()- Возвращает объект, содержащий значения всех CSS-свойств, применённых к элементу (с учётом внешних файлов стилей и тега
<style>). getSelection()- Возвращает ссылку на объект для работы с выделенными элементами страницы.
print()- Открывает меню для печати документа.
stop()- Останавливает загрузку страницы.
Новое окно
open()- Открывает новое окно.
close()- Закрывает окно, открытое с помощью метода
window.open(). Закрыто ли окно, можно узнать из булевого свойстваclosed. moveBy()- Позволяет перемещать окно относительно текущего положения. Аргументами указываются горизонтальное и вертикальное смещение относительно текущего (аналогия с CSS-свойством
position: relative). Окно обязательно должно быть открыто с помощью методаwindow.open()и иметь не более одной вкладки. moveTo()- Позволяет перемещать окно относительно экрана. Аргументами указываются горизонтальная и вертикальная координаты относительно верхнего левого угла экрана (аналогия с CSS-свойством
position: fixed). Окно обязательно должно быть открыто с помощью методаwindow.open()и иметь не более одной вкладки. resizeBy()- Позволяет изменять размер окна относительно текущего. Аргументами указываются изменение ширины и высоты окна относительно текущего. Окно обязательно должно быть открыто с помощью метода
window.open()и иметь не более одной вкладки. resizeTo()- Позволяет изменять размер окна в абсолютных величинах. Аргументами указываются ширина и высота окна в пикселях. Окно обязательно должно быть открыто с помощью метода
window.open()и иметь не более одной вкладки.
Таймеры
setTimeout()- Один раз запускает переданную функцию через заданное время.
clearTimeout()- Отменяет выполнение действий, установленных с помощью
window.setTimeout(). Аргументом указывается идентификатор, полученный при вызовеsetTimeout(). setInterval()- Многократно запускает переданную функцию с заданным интервалом времени.
clearInterval()- Останавливает повторное выполнение действий, установленных с помощью
window.setInterval(). Аргументом указывается идентификатор, полученный при вызовеsetInterval().
Прокрутка страницы
scroll()- Позволяет прокрутить окно в заданное место. Аргументами указываются прокрутка по оси X и оси Y относительно всего документа в пикселях.
scrollBy()- Позволяет прокрутить окно относительно текущего положения. Аргументами указываются величины прокрутки по оси X и оси Y относительно текущего положения в пикселях.
scrollTo()- Аналогичен методу
scroll().