)。
图 1-3 DOM通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。
用DOM API可以轻松地删除、添加和替换节点。
1.为什么DOM必不可少 自从IE 4.0和Netscape Navigator 4.0开始支持不同形式的动态HTML(DHTML),开发者首次能够在不重载网页的情况下修改它的外观和内容。
这是Web技术的一大飞跃,不过也带来了巨大的问题。
Netscape和微软各自开发自己的DHTML,从而结束了Web开发者只编写一个HTML页面就可以在所有浏览器中访问的时期。
业界决定必须要做点什么以保持Web的跨平台特性,他们担心如果放任Netscape和微软公司这样做,Web必将分化为两个独立的部分,每一部分只适用于特定的浏览器。
因此,负责制定Web通信标准的团体W3C(World Wide Web Consortium)就开始制定DOM。
2.DOM的各个Level DOM Level 1是W3C于1998年10月提出的。
它由两个模块构成,即DOM Core和DOM HTML。
前者提供了基于XML的文档的结构图,以方便访问和操作文档的任意部分;后者添加了一些HTML专用的对象和方法,从而扩展了DOM Core。
注意,DOM不是JavaScript专有的,事实上许多其他语言都实现了它。
不过,Web浏览器中的DOM已经用ECMAScript实现了,现在是JavaScript语言的一个很大组成部分。
DOM Level 1只有一个目标,即规划文档的结构,DOM Level 2的目标就广泛多了。
对原始DOM的扩展添加了对鼠标和用户界面事件DHTML对此有丰富的支持、范围、遍历(重复执行DOM文档的方法)的支持,并通过对象接口添加了对CSS(层叠样式表)的支持。
由Level 1引入的原始DOM Core也加入了对XML命名空间的支持。
DOM Level 2引入几种DOM新模块,用于处理新的接口类型: q DOM视图——描述跟踪文档的各种视图(即CSS样式化之前和CSS样式化之后的文档)的接口; q DOM事件——描述事件的接口; q DOM样式——描述处理基于CSS样式的接口; q DOM遍历和范围——描述遍历和操作文档树的接口。
DOM Level 3引入了以统一的方式载入和保存文档的方法(包含在新模块DOM Load and Save中)以及验证文档(DOM Validation)的方法,从而进一步扩展了DOM。
在Level 3中,DOM Core被扩展为支持所有的XML 1.0特性,包括XML Infoset、XPath和XML Base. 在学习DOM时,可能会遇到有人引用DOM Level 0。
注意,根本没有DOM Level 0这个标准,它只是DOM的一个历史参考点(DOM Level 0指的是IE 4.0和Netscape Navigator 4.0中支持的原始DHTML)。
3.其他DOM 除了DOM Core和DOM HTML外,还有其他几种语言发布了自己的DOM标准。
这些语言都是基于XML的,每种DOM都给对应语言添加了特有的方法和接口: q 可缩放矢量图形(SVG)1.0; q 数学标记语言(MathML)1.0; q 同步多媒体集成语言(SMIL)。
此外,其他语言也开发了自己的DOM实现,如Mozilla的XML用户界面语言(XUL)。
不过,只有上面列出的几种语言是W3C的推荐标准。
4.Web浏览器中的DOM支持 DOM在被Web浏览器开始实现之前就已经是一种标准了。
IE首次尝试支持DOM是在5.0版本中,不过其实直到5.5版本才具有真正的DOM支持,IE 5.5实现了DOM Level 1。
从那时起,IE就没有再引入新的DOM功能。
Netscape直到Netscape 6(Mozilla 0.6.0)才引入DOM支持。
目前,Mozilla具有最好的DOM支持,实现了完整的Level 1、几乎所有的Level 2以及一部分Level 3。
(Mozilla开发小组的目标是构造一个与标准100%兼容的浏览器,他们的工作得到了回报。
) Opera直到7.0版本才加入DOM支持,还有Safari也实现了大部分DOM Level 1。
它们几乎都与IE 5.5处于同一水平,有些情况下,甚至超过了IE 5.5。
不过,就对DOM的支持而论,所有浏览器都远远落后于Mozilla。
下表列出了常用浏览器对DOM的支持。
浏 览 器 DOM兼容性 Netscape Navigator 1.0-4.x- Netscape 6.0 Mozilla 0.6.0Level 1、Level 2、Level 3(部分) IE 2.0-4.x- IE 5.0Level 1(最小) IE 5.5Level 1(几乎全部) Opera 1.0-6.0- Opera 7.0Level 1(几乎全部)、Level 2(部分) Safari 1.0/Konqueror 2.0Level 1 1.2.3 BOM IE 3.0和Netscape Navigator 3.0提供了一种特性——BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。
使用BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。
使BOM独树一帜且又常常令人怀疑的地方在于,它只是JavaScript实现的一部分,没有任何相关的标准。
BOM主要处理浏览器窗口和框架,不过通常浏览器特定的JavaScript扩展都被看作BOM的一部分。
这些扩展包括: q 弹出新的浏览器窗口; q 移动、关闭浏览器窗口以及调整窗口大小; q 提供Web浏览器详细信息的导航对象; q 提供装载到浏览器中页面的详细信息的定位对象; q 提供用户屏幕分辨率详细信息的屏幕对象; q 对cookie的支持; q IE扩展了BOM,加入了ActiveXObject类,可以通过JavaScript实例化ActiveX对象。
由于没有相关的BOM标准,每种浏览器都有自己的BOM实现。
有一些事实上的标准,如具有一个窗口对象和一个导航对象,不过每种浏览器可以为这些对象或其他对象定义自己的属性和方法。
本书第5章详细介绍了这些实现的不同之处。
上一页 首页 下一页 推荐图书 Java Web开发详解 购买 试读 汇编语言编程艺术 购买 试读 Ajax高级程序设计 购买 试读 C编程艺术 购买 试读 网站简介-广告服务-网站地图-帮助-联系方式-诚聘英才-English-问题报告 北京百联美达美数码科技有限公司 版权所有 京 ICP 证 020026 号 Copyright copy 2000-2006 CSDN.NET All Rights Reserved ·第一部分 第一节 第二节 ·第二部分 第一节 第二节 ·第三部分 第一节 第二节 第三节 ·第四部分 第一节 第二节 第三节 第四节 第五节 第六节 第七节 第八节 第九节 第一零节 第一一节 第一二节 第一三节 第一四节 第一五节 ·第五部分 第一节 第二节 第三节 第四节 第五节 第六节 第七节 第八节 第九节 第一零节 第一一节 ·第六部分 第一节 第二节 第三节 第四节 第五节 第六节 ·第七部分 第一节 第二节 第三节 第四节 第五节 第六节 第七节 ·第八部分 第一节 第二节 第三节 第四节 第五节 第六节 第七节
上一篇:
【精品】某小型公司人事管理系统的开发
下一篇:
电力调度管理中信息技术论文