返回

浏览器对象模型 BOM(二):窗口对象 window 深度剖析

前端

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 可以用于许多实际应用中,例如在窗口之间导航、获取浏览器信息和设置计时器。