BOM由以一系列相关的对象组成。下图展示了基本的BOM体系结构。
DOM:(Document Object Model) 文档对象模型。
BOM:(Browser Object Mode) 浏览器对象模型,BOM提供了独立于内容而与浏览器窗口进行交互的对象
从上面的对比中,可以很清晰的看出,BOM与DOM的最大区别既是B(Browser)和D(Document)的 区别,那Browser和Document有什么差别呢,DOM的根节点是document。经常编写JavaScript代码,也 许你会想到window对象,为啥DOM里面没有window,这就是BOM与DOM的区别了,window是JavaScript的顶端对象之一,它是 隶属于浏览器层次的,它独立于文档内容与浏览器之间。
Window对象:
是整个BOM的核心,所有对象和集合都以某种方式回接到window对象。Window对象表示整个浏览器窗口,但不必表示其中包含的内容。
Document对象:
实际上是window对象的属性。这个对象的独特之处是唯一一个既属于BOM又属于DOM的对象。从BOM角度看,document对象由一系列集合构成,这些集合可以访问文档的各个部分。
Location对象:
它是window对象和document对象的属性。Location对象表示载入窗口的URL,此外它还可以解析URI.
Navigator对象:
Navigator包含大量Web浏览器相关的信息。各种浏览器支持该对象的属性和方法不尽相同。
Screen对象:
通过其可以获取用户屏幕相关的信息
DOM是针对XML的基于树的API。描述了处理网页内容的方法和接口,是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。
DOM本身是与语言无关的API,它并不与Java,JavaScript或其他语言绑定。
针对XHTML和HTML的DOM。这个DOM定义了一个HTMLDocument和HTMLElement做为这种实现的基础。
其他的包括SVG的DOM
各种浏览器对于DOM的支持不一样。
Mozila支持最好,几乎所有的DOM Level 2以及部分DOM Level 3。在Opera和Safrai支持所有的DOM Level1和大部分DOM Level2。IE,支持大部分的DOM Level 1。
DOM Level 1 包括DOM Core和DOM HTML。前者提供了基于XML的文档结构图。后者添加了一些HTML专用的对象和方法,从而扩展了DOM Core.
DOM Level 2 引入几个新模块:DOM视图,事件,样式,遍历和范围
DOM Level 3 引入了以统一的方式载入和保存文档的方法。DOM Core被扩展支持所有的XML1.0的特性
联系客服