BOM 定义了JavaScript 可以进行操作的浏览器的各个功能部件的接口,提供访问文档各个功能部件(如窗口本身、屏幕功能部件、浏览历史记录等)的途径以及操作方法。
遗憾的是,BOM 只是JavaScript 脚本实现的一部分,没有任何相关的标准,每种浏览器都有自己的BOM 实现,这可以说是BOM 的软肋所在。
通常情况下浏览器特定的 JavaScript 扩展都被看作BOM 的一部分,主要包括:
[list]
[]关闭、移动浏览器及调整浏览器窗口大小;
[]弹出新的浏览器窗口;
[]提供浏览器详细信息的定位对象;
[]提供载入到浏览器窗口的文档详细信息的定位对象;
[]提供用户屏幕分辨率详细信息的屏幕对象;
[]提供对 cookie 的支持;
[*]加入 ActiveXObject 类扩展BOM,通过JavaScript 实例化ActiveX 对象。
[/list]
BOM 有一些事实上的标准,如窗口对象、导航对象等,但每种浏览器都为这些对象定义或扩展了属性及方法。