返回
浏览器对象模型 BOM(二):窗口对象 window 深度剖析
前端
2023-10-13 18:59:09
window 对象
window 对象是 BOM 中最为核心的对象,它是浏览器窗口的表示。它提供了许多属性和方法来操作窗口,包括:
- location 对象: 表示当前窗口的 URL。可以通过 location 对象来加载、重定向或获取当前的 URL。
- navigator 对象: 提供了有关浏览器的信息,例如浏览器类型、版本号、操作系统等。
- Window Timers: 允许您在指定的时间间隔后执行代码。包括 setTimeout()、setInterval() 和 clearTimeout()、clearInterval() 方法。
location 对象
location 对象表示当前窗口的 URL。它提供了许多属性和方法来操作 URL,包括:
- href 属性: 获取或设置当前页面的完整 URL。
- protocol 属性: 获取或设置当前页面的协议(例如,"http:" 或 "https:")。
- host 属性: 获取或设置当前页面的主机名和端口号。
- pathname 属性: 获取或设置当前页面的路径名。
- search 属性: 获取或设置当前页面的查询字符串。
- hash 属性: 获取或设置当前页面的片段标识符。
- reload() 方法: 重新加载当前页面。
- replace() 方法: 用新 URL 替换当前 URL,不会在历史记录中创建一个新条目。
- assign() 方法: 用新 URL 替换当前 URL,并在历史记录中创建一个新条目。
navigator 对象
navigator 对象提供了有关浏览器的信息,例如浏览器类型、版本号、操作系统等。它提供了许多属性和方法,包括:
- appName 属性: 获取浏览器的名称。
- appVersion 属性: 获取浏览器和浏览器的版本号。
- userAgent 属性: 获取浏览器的用户代理字符串。
- platform 属性: 获取操作系统的平台。
- language 属性: 获取浏览器的语言。
- onLine 属性: 获取浏览器是否在线。
Window Timers
Window Timers 允许您在指定的时间间隔后执行代码。它们包括以下方法:
- setTimeout() 方法: 在指定的时间(以毫秒为单位)后执行一次函数。
- setInterval() 方法: 在指定的时间(以毫秒为单位)的间隔后重复执行一个函数。
- clearTimeout() 方法: 取消 setTimeout() 方法设置的计时器。
- clearInterval() 方法: 取消 setInterval() 方法设置的计时器。
实际应用案例
BOM 可以用于许多实际应用中,例如:
- 在窗口之间导航: 可以使用 location 对象在窗口之间导航。例如,您可以使用 location.href 属性来加载一个新的 URL,或者使用 location.replace() 方法来替换当前 URL。
- 获取浏览器信息: 可以使用 navigator 对象来获取有关浏览器的信息。例如,您可以使用 navigator.userAgent 属性来获取浏览器的用户代理字符串。
- 设置计时器: 可以使用 Window Timers 来设置计时器。例如,您可以使用 setTimeout() 方法来在指定的时间(以毫秒为单位)后执行一次函数,或者使用 setInterval() 方法来在指定的时间(以毫秒为单位)的间隔后重复执行一个函数。
总结
BOM 是 JavaScript 用于操作浏览器的 API。它提供了许多属性和方法来操作窗口,包括 location 对象、navigator 对象和 Window Timers。BOM 可以用于许多实际应用中,例如在窗口之间导航、获取浏览器信息和设置计时器。