Files
obsidian/Веб/Фронтенд/BOM.md
T
roma-dxunvrs 6421fd3a48
deploy / Pull and Restart (push) Successful in 18s
21.09.26
2026-09-22 00:07:22 +03:00

26 lines
1.9 KiB
Markdown

- Browser Object Model
- Прослойка между ядром и [[DOM]]
- Основное предназначение - управление окнами браузера и обеспечение их взаимодействия
- Специфична для каждого [[Браузер|браузера]]
- Каждое из окон браузера представляется объектом `window`
```JavaScript
var contentsWindow;
contentsWindow = window.open("http://cs.ifmo.ru", "contents");
```
## Возможности BOM
- управление фреймами
- поддержка задержки в исполнении кода и зацикливания с задержкой
- системные диалоги
- управление адресом открытой страницы
- управление информацией о браузере
- управление информацией о параметрах монитора
- ограниченное управление историей просмотра страниц
- поддержка работы с HTTP cookie
## Главные API
1. `navigator` - информация о клиенте (ОС, версия браузера, геолокация, язык)
2. `location` - работа с URL-адресом текущей вкладки
- `location.href = "https://itmo.ru` - редирект на другую страницу (синхронный)
- Чтение параметров из URL (`?id=5&user=admin`)
3. `history` - управление историей сессии. Позволяет ходить вперед/назад или менять URL в строке без перезагрузки страницы (основа для React/Vue)
4. `localStorage`/`sessionStorage` - встроенная key-value база данных в браузере
5. Блокирующие диалоги: `alert()`, `confirm()`, `prompt()`