JavaScript BOM(浏览器对象模型)是指浏览器提供的一组 JavaScript 对象集合,其结构图如下所示。JavaScript BOM 提供了访问和操作浏览器和页面的对象,使得我们可以通过 JavaScript 控制浏览器及其行为,例如操作窗口、修改 URL、获取屏幕分辨率等等。
<img src="https://i.imgur.com/e2DRtdR.png">窗口对象是 JavaScript BOM 的核心组件之一,它代表了浏览器中的每一个窗口。当一个窗口被打开时,它就成为了窗口对象的一个实例。例如,我们可以通过使用窗口对象的 open() 方法打开一个新的窗口。
var popupWindow = window.open("http://www.google.com");除了打开新窗口,JavaScript BOM 还允许我们对已打开的窗口进行操作。例如,我们可以使用窗口对象的 close() 方法关闭当前窗口。
window.close();JavaScript BOM 还包括了许多其他对象,例如 history 和 location 对象。history 对象包含当前窗口的浏览历史记录,它允许我们在历史记录中前进和后退。例如,我们可以使用 history 对象的 back() 方法退回到前一个页面。
history.back();location 对象表示了当前窗口的 URL。它允许我们修改 URL、加载新页面并获取 URL 的各个部分。例如,我们可以使用 location 对象的 href 属性修改当前窗口的 URL。
location.href = "http://www.google.com";JavaScript BOM 还包括了 screen 和 navigator 对象。screen 对象提供了关于用户屏幕的信息,例如屏幕分辨率和可用颜色。例如,我们可以使用 screen 对象的 width 属性获取用户屏幕的宽度。
var screenWidth = screen.width;navigator 对象提供了关于用户浏览器的信息,例如浏览器名称和版本。例如,我们可以使用 navigator 对象的 userAgent 属性获取用户浏览器的 User-Agent。
var userAgent = navigator.userAgent;总之,JavaScript BOM 提供了访问和操作浏览器和页面的对象。通过使用这些对象和方法,我们可以控制浏览器及其行为,更好地开发 Web 应用程序。