Объектная модель браузера (BOM от англ. Browser Object Model) позволяет JavaScript "общаться" с браузером.
Объектная модель браузера (BOM)
Не существует каких-либо официальных стандартов для Объектной модели браузера (BOM).
Так как современные браузеры реализуют (почти) одни и те же методы и свойства для JavaScript интерактивно, их часто относят к методам и свойствам BOM.
Объект window
Объект window поддерживается всеми браузерами. Он представляет окно браузера.
Все глобальные JavaScript объекты, функции и переменные автоматически становятся членами объекта window.
Глобальные переменные являются свойствами объекта window.
Глобальные функции являются методами объекта window.
Даже объект document (в HTML DOM) является свойством объекта window:
window.document.getElementById("header");
то же самое что:
document.getElementById("header");
Размер окна
Чтобы определить размер окна браузера, можно использовать два свойства.
Оба свойства возвращают размер в пикселях:
- window.innerHeight – внутренняя высота окна браузера (в пикселях)
- window.innerWidth – внутренняя ширина окна браузера (в пикселях)
Окно браузера (область просмотра) не включает панель инструментов и полосу прокрутки.
Свойства для Internet Explorer 8, 7, 6, 5:
- document.documentElement.clientHeight
- document.documentElement.clientWidth
или
- document.body.clientHeight
- document.body.clientWidth
Практическое решение JavaScript (охватывает все браузеры):
var w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
var h = window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
В примере вычисляется высота и ширина окна браузера (не включая панель инструментов и полосу прокрутки).
Другие методы объекта window:
- window.open() - открывает новое окно
- window.close() - закрывает текущее окно
- window.moveTo() - передвигает текущее окно
- window.resizeTo() - изменяет размер текущего окна