浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器”对话”。

1.Window 对象

  • 所有浏览器都支持 window 对象。它表示浏览器窗口。
  • 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
  • 全局变量是 window 对象的属性。
  • 全局函数是 window 对象的方法。
  • 甚至 HTML DOM 的 document 也是 window 对象的属性之一:
    1. window.document.getElementById("header");
    与此相同:
    1. document.getElementById("header");

    1、screen对象

  1. Screen 对象包含有关客户端显示屏幕的信息。
  2. 2-4 浏览器对象模型 (BOM) - 图1注意: 没有应用于 screen 对象的公开标准,不过所有浏览器都支持该对象。

    Screen 对象属性

    | 属性 | 说明 | | :—- | :—- | | availHeight | 返回屏幕的高度(不包括Windows任务栏) | | availWidth | 返回屏幕的宽度(不包括Windows任务栏) | | colorDepth | 返回目标设备或缓冲器上的调色板的比特深度 | | height | 返回屏幕的总高度 | | pixelDepth | 返回屏幕的颜色分辨率(每象素的位数) | | width | 返回屏幕的总宽度 |
  1. var screenWidth = window.screen.availWidth;
  2. var screenHeight = window.screen.availHeight;
  3. console.log(screenWidth)
  4. console.log(screenHeight)


2、Navigator 对象

  1. Navigator 对象包含有关浏览器的信息。
  2. 2-4 浏览器对象模型 (BOM) - 图2注意: 没有应用于 navigator 对象的公开标准,不过所有浏览器都支持该对象。

    Navigator 对象属性

    | 属性 | 说明 | | :—- | :—- | | appCodeName | 返回浏览器的代码名 | | appName | 返回浏览器的名称 | | appVersion | 返回浏览器的平台和版本信息 | | cookieEnabled | 返回指明浏览器中是否启用 cookie 的布尔值 | | platform | 返回运行浏览器的操作系统平台 | | userAgent | 返回由客户机发送服务器的user-agent 头部的值 |

Navigator 对象方法

方法 描述
javaEnabled() 指定是否在浏览器中启用Java
taintEnabled() 规定浏览器是否启用数据污点(data tainting)

3、Location对象

  1. Location 对象包含有关当前 URL 的信息。
  2. Location 对象是 window 对象的一部分,可通过 window.Location 属性对其进行访问。
  3. 2-4 浏览器对象模型 (BOM) - 图3注意: 没有应用于Location对象的公开标准,不过所有浏览器都支持该对象。

    Location 对象属性

    | 属性 | 描述 | | :—- | :—- | | hash | 返回一个URL的锚部分 | | host | 返回一个URL的主机名和端口 | | hostname | 返回URL的主机名 | | href | 返回完整的URL | | pathname | 返回的URL路径名。 | | port | 返回一个URL服务器使用的端口号 | | protocol | 返回一个URL协议 | | search | 返回一个URL的查询部分 |

Location 对象方法

方法 说明
assign() 载入一个新的文档
reload() 重新载入当前文档
replace() 用新的文档替换当前文档
  1. <button id="btn">跳转到百度</button>
  2. <script>
  3. var btn = document.getElementById("btn");
  4. btn.onclick = function(){
  5. console.log(location.href='http://www.baidu.com')
  6. }
  7. </script>

4、history对象

History 对象包含用户(在浏览器窗口中)访问过的 URL。
History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。
2-4 浏览器对象模型 (BOM) - 图4注意: 没有应用于History对象的公开标准,不过所有浏览器都支持该对象。

History 对象属性

属性 说明
length 返回历史列表中的网址数

History 对象方法

方法 说明
back() 加载 history 列表中的前一个 URL
forward() 加载 history 列表中的下一个 URL
go() 加载 history 列表中的某个具体页面
  1. <input type="button" value="Back" onclick="goBack">
  2. <input type="button" value="Forward" onclick="goForward">
  3. <script>
  4. function goBack(){
  5. window.history.back()
  6. }
  7. function goForward(){
  8. window.history.forward()
  9. }
  10. </script>

事件