什么是 BOM?
BOM(Browser Object Model,浏览器对象模型)是 JavaScript 中的一组对象和属性,它代表了浏览器的环境和功能。BOM 提供了与浏览器交互、访问页面信息和操纵 DOM 的方法。
主要组件
BOM 的主要组件包括:
- Window: 表示浏览器窗口,提供访问浏览器的属性和方法。
- Navigator: 包含有关浏览器本身和用户计算机的信息。
- Location: 提供有关当前页面的 URL 和加载状态的信息。
- Screen: 包含有关用户屏幕的信息。
使用示例
获取当前页面 URL:
const url = window.location.href;
打开新窗口:
window.open("new_window.html");
获取用户浏览器名称:
const browserName = navigator.userAgent;
获取屏幕分辨率:
const width = screen.width;
const height = screen.height;
Window 对象
Window 对象是 BOM 的根对象,它提供了对浏览器窗口和文档对象模型 (DOM) 的访问。一些重要的属性和方法包括:
- document: 指向 DOM 根元素。
- location: 提供有关页面 URL 和加载状态的信息。
- navigator: 包含有关浏览器和用户计算机的信息。
- screen: 提供有关用户屏幕的信息。
- alert(): 显示弹出警报对话框。
- confirm(): 显示确认对话框并返回用户的选择。
- prompt(): 显示一个输入提示对话框,用于获取用户的输入。
Navigator 对象
Navigator 对象包含有关浏览器本身和用户计算机的信息。一些有用的属性包括:
- userAgent: 一个字符串,标识浏览器类型、版本和操作系统。
- appCodeName: 浏览器的代码名称。
- appName: 浏览器的名称。
- appVersion: 浏览器的版本。
- platform: 用户的操作系统。
- language: 用户的语言首选项。
Location 对象
Location 对象提供了有关当前页面的 URL 和加载状态的信息。一些常用的属性包括:
- href: 当前页面的完整 URL。
- protocol: URL 的协议(例如,http 或 https)。
- hostname: 主机名或 IP 地址。
- port: 服务器端口。
- pathname: URL 的路径部分。
- search: 包含 URL 查询字符串的字符串。
- hash: 包含 URL 哈希部分的字符串。
- reload(): 重新加载页面。
Screen 对象
Screen 对象提供有关用户屏幕的信息,例如:
- width: 屏幕宽度(以像素为单位)。
- height: 屏幕高度(以像素为单位)。
- availWidth: 可用于网页的屏幕宽度。
- availHeight: 可用于网页的屏幕高度。
- colorDepth: 每像素可用颜色的位数。
应用
BOM 可用于各种应用程序,包括:
- 打开新窗口或选项卡。
- 访问页面元数据。
- 检测浏览器功能。
- 响应用户交互。
- 操纵屏幕信息。
通过充分利用 BOM,开发人员可以创建交互式、用户友好的 Web 应用程序。