1.2.2文档对象模型(DOM)
文档对象模型(DOM)是针对XML但经过扩展用于HTML的应用程序编程接口(API)。DOM把整个页面映射为一个多层节点结构。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。
为什么要使用DOM
在IE4和NN4分别支持的不同形式的DHTML基础上,开发人员首次无需重新加载网页就可以修改其外观和内容了。但由于Netscape和微软在开发DHTML方面各执己见,过去那个只编写一个HTML就可以在任何浏览器中运行的时代结束了。此时,负责制定Web通信标准的W3C开始着手规划DOM。
DOM级别
1998年10月DOM1级成为W3C的推荐标准,它有两个模块组成:DOM核心和DOM HTML。
- DOM核心规定的是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作
- DOM HTML模块则在DOM核心的基础上加以扩展,添加了针对HTML的对象和方法
DOM2级在原来DOM的基础上又扩充了(DHTML一直支持的)鼠标和用户界面事件、范围、遍历(迭代DOM文档的方法)等细分模块,并且通过对象接口增加了对CSS的支持。DOM1中的DOM核心也经过扩展开始支持XML命名空间
DOM3级则进一步扩展了DOM,引入了以统一方式加载和保存文档的方法;新增了验证文档的方法。DOM3也对DOM核心进行了扩展,开始支持XML1.0规范。
其他DOM标准
另外几种语言发布了只针对自己的DOM标准:
- SVG
- MathMl
- SMIL
Web浏览器对DOM的支持
目前,支持DOM已经成为浏览器开发商的首要目标,主流浏览器每次发布新版本都会改进对DOM的支持。
1.2.3浏览器对象模型(BOM)
从根本上说BOM只处理浏览器窗口和框架,但人们习惯也把所有针对浏览器的JavaScript扩展算作BOM的一部分