Browser Object Model
BOM - Объектная модель браузера
Важно
Объект window поддерживается всеми браузерами. Он представляет окно браузера.
Важно
Все глобальные JavaScript объекты, функции и переменные автоматически становятся членами объекта window.
- Глобальные переменные являются свойствами объекта window.
- Глобальные функции являются методами объекта window.
Объект window
Размер окна
Чтобы определить размер окна браузера, можно использовать два свойства.
Оба свойства возвращают размер в пикселях:
window.innerHeight
– внутренняя высота окна браузера (в пикселях)window.innerWidth
– внутренняя ширина окна браузера (в пикселях)
Важно
Окно браузера (область просмотра) не включает панель инструментов и полосу прокрутки.
Другие методы объекта window:
window.open()
- открывает новое окноwindow.close()
- закрывает текущее окноwindow.moveTo()
- передвигает текущее окноwindow.resizeTo()
- изменяет размер текущего окна
Объект Screen
Объект window.screen
содержит информацию об экране пользователя.
Объект window.screen
можно использовать без префикса window
.
Свойства:
screen.width
- возвращает ширину экрана пользователя в пикселяхscreen.height
- возвращает высоту экрана пользователя в пикселяхscreen.availWidth
- возвращает ширину экрана пользователя в пикселях минус интерфейс вроде таскбара Windowsscreen.availHeight
- возвращает высоту экрана пользователя в пикселях минус интерфейс вроде таскбара Windows.screen.colorDepth
- возвращает число бит, используемых для отображения цветаscreen.pixelDepth
- возвращает глубину пикселя экрана в битах
Объект Location
Объект window.location
может использоваться для получения адреса (URL) текущей страницы и перенаправления браузера на новую страницу.
Объект window.location может записываться без префикса window.
Некоторые примеры:
window.location.href
- возвращает ссылку (URL) текущей страницыwindow.location.hostname
- возвращает доменное имя веб-хостаwindow.location.pathname
- возвращает путь и имя файла текущей страницыwindow.location.protocol
- возвращает использованный веб-протокол (http:
илиhttps:
)window.location.assign
- загружает новый документ
Переход на новый адрес
1<script>2function goToNewPage(url) {3 window.location.assign(url)4}5</script>6<button onclick="newDoc(https://ru.wikipedia.org/)">7Go to new page8</button>
Объект History
Объект window.history содержит историю посещенных браузером страниц.
Объект window.history может записываться без префикса window.
Чтобы обеспечить приватность пользователей, есть некоторые ограничения того, как JavaScript может получить доступ к этому объекту.
Некоторые методы:
history.back()
- то же самое, что нажатие на кнопку браузера "Назад"history.forward()
- то же самое, что нажатие на кнопку браузера "Вперед"
Возврат назад
Метод history.back()
загружает предыдущий URL в списке посещенных страниц.
Этот метод действует так же, как кнопка браузера "Назад".
Пример:
1<script>2function goBack() {3 window.history.back()4 }5</script>6<button onclick="goBack()">7Go back8</button>
Переход вперед
Метод history.forward()
загружает следующий URL в списке посещенных страниц.
Этот метод действует так же, как кнопка браузера "Вперед".
Пример:
1<script>2function goForward() {3 window.history.forward()4 }5</script>67<button onclick="goForward()">8Go forward9</button>
Объект Navigator
Объект window.navigator
содержит информацию о браузере посетителя страницы.
Объект window.navigator
может записываться без префикса window.
- navigator.appName - возвращает имя браузера.
Интересно
Довольно странно, но именем приложения для браузеров IE11, Chrome, Firefox и Safari является "Netscape".
- navigator.appCodeName - возвращает кодовое имя браузера.
Интересно
Кодовым именем для браузеров Chrome, Firefox, IE, Safari и Opera является "Mozilla".
navigator.platform
- возвращает платформу браузераnavigator.cookieEnabled
- возвращает значениеtrue
, если "куки" (специальные файлы-метки) разрешены, в обратном случае возвращается значениеfalse
navigator.product
- product возвращает имя движка браузераnavigator.appVersion
- возвращает информацию о версии браузераnavigator.userAgent
- возвращает заголовок пользовательского агента, посланного браузером серверуnavigator.language
- возвращает язык браузераnavigator.onLine
- возвращаетtrue
, если браузер подключен к сети Интернет.
Важно
Информация из объекта navigator
может вводить в заблуждение. Ее не следует использовать для определения версии браузера, так как:
- разные браузеры могут использовать одно и то же имя
- данные объекта navigator могут изменяться владельцем браузера
- некоторые браузеры дают неверные идентификаторы о себе, чтобы обходить проверку сайтов
- браузеры не могут сообщать о новых операционных системах, вышедших после самих браузеров