Объектная модель браузера - это более широкое представление всего, что предоставляется браузером, включая текущий документ, местоположение, историю, фреймы и любые другие функции, которые браузер может использовать. JavaScript. Объектная модель браузера не стандартизирована и может изменяться в зависимости от разных браузеров.
Объектная модель документа стандартизирована и специфична для текущего HTML-документа. Он предоставляется объектной моделью браузера (то есть DOM является подмножеством BOM).
«Объектная модель браузера» (BOM) - это термин из начала 2000-х, который не прижился и был заменен [1] термином «Веб-API»
Веб-API - это JavaScript API-интерфейсы , доступные для веб-страниц: любые объекты / интерфейсы, их свойства, методы и события, которые браузер делает доступными для страницы, за исключением объекты, такие как String
, которые являются частью самого языка JavaScript .
DOM (объектная модель документа) в контексте веб-разработки представляет собой подмножество веб-API, связанных с манипулированием структурой и содержимым веб-страниц и других «документов».
Исторически DOM проектировалась как « интерфейс, не зависящий от платформы и языка » с спецификацией DOM уровня 1 , описывающей как ECMAScript (JavaScript), так и привязки Java в приложениях. Вы можете по-прежнему использовать DOM API для работы с данными XML / HTML вне браузера (например, используя Xerces в Java), но версия спецификации DOM «Living Standard» поддерживается с упором на Интернет. вариант использования, и самый последний отчет W3C о реализации включает в себя в основном (если не только) веб-браузеры.
[1] См. Тенденции Google для «объектной модели браузера» , и как в современной книге (Поваренная книга JavaScript: Программирование в Интернете) она лишь кратко упоминается как «Спецификация - см. Веб-API» .
[ответ переписан в 2019 году]