本系列的博客是由本人在阅读《JavaScript DOM编程艺术》一书过程中做的总结。前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助,所以
如果您也看过这本书,希望不要喷小的“抄袭”,其实我也懒得敲这些文字也想简单粗暴地上代码,但是只有实践没有理论不容易自己理解,为避免误导,该“抄”的地方还是要“抄”的,哈哈~~
一、JavaScript的起源
JavaScript是Netscape公司和Sun公司合作开发的。在JavaScript出现之前,Web浏览器不过是一种能够显示超文本文档的简单的软件。而在JavaScript出现之后,网页的交互性得到了很大的改善。
JavaScript的第一个版本,即JavaScript1.0出现在1995年推出的Netscape Navigator2浏览器中。
在JavaScript1.0发布时,Netscape Navigator主宰着市场,IE则扮演着追赶者的角色。微软在推出IE3的时候发布了自己的VBScript语言,同时以Jscript为名发布了JavaScript的第一个版本,以此
很快跟上了Netscape的步伐。面对微软的竞争,Netscape和Sun公司联合ECMA(欧洲计算机制造协会)非JavaScript语言进行了标准化。于是出现了ECMAScript语言,这是同一个语言的另一个名字。
虽说ECMAScript这个名字没有流行开来,但人们现在讨论的JavaScript实际上就是ECMAScript。
到了1996年,JavaScript、ECMAScript和JScript已经站稳了脚跟。Netscape和微软都在各自的浏览器里不同程度地支持JavaScript1.1。
二、DOM
本书主要讲的内容就是DOM编程艺术,所以先来对DOM进行一个大概的了解。简单的说,DOM是一套对文档的内容进行抽象和概念化的方法。DOM是Document Object Model的简写,即文档对象模型,
所以望文生义就能猜到这是将文档视为对象的一种方法。既然是对象,就应该有属性,所以JavaScript的DOM编程其实就是通过文档对象获取属性并对其进行操作。
三、浏览器战争
1、DHTML
DHTML是“Dynamic HTML”(动态HTML)的简称。DHTML并不是一项新技术,而是描述HTML、CSS和JavaScript技术组合的术语。其意义包含下面三个方面:
(1) 利用HTML把网页标记为各种元素
(2) 利用CSS设置元素样式和显示的位置
(3) 利用JavaScript实时地操控页面和改变样式
2、浏览器之间的冲突
Netscape公司的DOM使用了专有元素,这些元素称为层Layer。层有唯一的ID,JavaScript需要像下面这样引用它们:
document.layers[‘element’]
而在IE中这个元素要像下面这样引用:
document.all[‘element’]
像这样的区别还有很多,这就导致开发人员在编写DOM脚本代码时必须知道该脚本将运行在何种浏览器上。同时,为了确保能够正确地向不同的浏览器提供与之相应的代码,还要写一些代码探查在
客户端运行的浏览器是哪种。
四、定制标准
就在浏览器厂商们以DOM为开发武器展开营销大战的同时,W3C已经结合大家的优点推出了一个标准化的DOM。令人开心的是,浏览器厂商们也能抛开彼此之间的敌意,携手W3C制定新的标准,
并与1998年10月完成了”第一级DOM“。浏览器厂商们感兴趣的只不过是通过JavaScript控制网页的具体方法,而W3C推出的标准化DOM则可以让任何一种程序设计语言对使用任何一种标记语言编写
出来的任何一份文档进
行操控。
1、浏览器以外的考虑
DOM是一种API(应用编程接口),即一种得到各方共同认可的基本约定,例如摩尔斯码、国际时区和化学元素周期表一样,都是不同科学领域的标准。所谓无规不成方圆,DOM就是这样一个标准,开
发人员必须遵循这一套标准开发。
W3C对DOM的定义是:”一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态地访问和改变文档的内容、结构和样式“。W3C推出的标准化DOM,在独立性和适用范围等诸多方面
都远远超出了浏览器厂商们推出的各种专有的DOM,因此才成为编程语言领域的一种标准。
2、浏览器战争的结局
浏览器战争影响最大的是网站设计人员。跨浏览器开发是他们的噩梦,除了JavaScript的差异之外,Netscape和IE在对CSS的支持上也有很大的差别,导致编写同时支持这两种浏览器的样式成了一种
黑色艺术。因此浏览器厂商们的这种行为遭到人们的激烈的反对,一个名为Web标准计划的小组应用而生,鼓励浏览器制造商们采用W3C制定和推荐的各项标准,也就是在浏览器厂商们的帮助下得以起草
和完善的那些标准,这才使浏览器产品对web标准的支持得到了极大的改善。
3、崭新的起点
如今的浏览器市场已经跟以前的完全不一样。首先Netscape已经不复存在,而一些新秀又迅速崛起,到目前,市场上比较主流的浏览器有Chrome、Firefox、Opera和IE.而且几乎所有的浏览器里都
内置了对DOM的支持,终于实现了“编写一次,到处运行”的梦想,只要遵循DOM标准,开发人员就可以放心大胆地去做。
以上就是第一章的内容,通过介绍因为JavaScript脚本引起的浏览器大战,引出W3C提出的行业级DOM标准,进一步介绍DOM的含义,最后又回归到浏览器大战的结局上说明了W3C的DOM标准之
重要性,可见是浏览器促进了JavaScript语言的进步,所以在学习JavaScript之前要对浏览器有一定的了解,当然,我说的是浏览器的底层技术,比如解析、识别语言等。