Что такое объектная модель браузера в JavaScript
Модель объекта браузера (BOM) - это соглашение, специфичное для браузера, относящееся ко всем объектам, открываемым веб-браузером. Когда браузер анализирует документ, он создает коллекцию объектов, которые определяют документ и подробно описывают его отображение. Объект, созданный браузером, известен как объект документа. Он является частью большой коллекции объектов, которые использует браузер. Эта коллекция объектов браузера в совокупности известна как объектная модель браузера или спецификация. Спецификация не стандартизирована ECMAScript, хотя она описана как основная часть JavaScript. Важными объектами спецификации являются:
- документ
- расположение
- история
- навигатор
- экран
- фреймы
Существует иерархия объектов браузера, которые используются для управления методами и свойствами, связанными с самим веб-браузером. Объектом верхнего уровня в спецификации является объект окна. Окно представляет собой окно браузера. Все остальные объекты браузера содержатся в объекте окна. Объект window включает в себя ряд свойств и методов, которые могут использоваться для управления веб-браузером. Хорошей частью веб-разработки на стороне клиента является работа со свойствами и методами, связанными с самим браузером, с окнами и документами, которые их занимают.
Окно браузера представлено глобальным объектом, называемым объектом окна. Объект Window поддерживается всеми основными браузерами и содержит все глобальные объекты JavaScript. Любая функция, объект или переменная в JavaScript становится членом объекта Window. Несколько примеров свойств и методов оконного объекта:
window.open("", newWindow, "width=500, height=500"); window.frames[0].location = "https://programmera.ru"; window.close(); var winWidth = window.innerwidth; var winHeight = window.innerHeight; window1.moveTo(500, 300); window1.focus();
Элемент Document, являющийся корнем элементов DOM, является частью спецификации в иерархии объектов. Объект Document представляет собой веб-страницу, отображаемую в браузере. Все элементы на веб-странице, включая теги HTML, содержатся внутри объекта документа. Поскольку объект документа часто считается самой важной частью спецификации, он представлен его собственной объектной моделью, называемой Document Object Model или DOM. В отличие от Document Object Model, нет стандарта для реализации и строгого определения, поэтому разработчики браузеров могут свободно выполнять спецификацию любым способом. Все глобальные объекты, функции, переменные JavaScript являются членами объекта Window по умолчанию. JavaScript позволяет исключить ссылку на окно при доступе к большинству его элементов. Примеры глобальных объектов:
window.document.getElementById("Para1"); document.getElementById("Para1");
Пример, показанный в приведенных выше двух утверждениях, означает то же самое.
Пример спецификации
BOM Examples BOM Window Object