首页客户案例企业网站建设外贸独立站SEO优化小程序+APP开发自媒体运营关于动态联系咨询

讲解DOM的level

在W3C中DOM有1~3的level,第一次看到时会很难理解这个level。在汉语中level和rank是一回事,他们都是“等级”,并不需要特殊的区分。我们看到level总是会自然地把它当做rank。实际上W3C想表达的是偏向version的概念,如果用rank来理解就完全混乱了。 很早以前,标记语言并没有标准化的DOM。所以各种浏览器都提供自己对标记语言文档的API,这个时候称为BOM(Browser Object Model)。但是每个浏览器上的API都不同,这对开发者来说显然是一件蛋疼的事情。所以,这个东西一定要标准化!于是就有了“DOM level 1”。它统一了很多API,但不是全部。因为有些东西在BOM时代就已经是所有浏览器的潜规则了,即使没有标准,大家也都兼容的。比如“元素.on事件=函数”这样的写法,这并没有被“DOM Level 1”标准化。我们现在对这种在DOM标准化之前就已经成为潜规则的标准称为“DOM level 0”,它不是W3C的东西,W3C对DOM的level是从1开始的。 “DOM level 1”可以说是第一版的文档对象API。随着Web的不断发展,各种浏览器都在原来的基础上逐渐推出新的API,比如attachEvent和addEventListener。这就回到了之前混乱的状态。所以需要一个更新的标准来约束这些乱七八糟的API。于是就推出了“DOM level 2”,也就是第二版的文档对象API。虽然说第二版是建立在第一版的基础上,但是对第一版做了很大的修改。比如createTextNode这个方法在ECMAScript中的定义在第一版本中参数类型是DOMString,到了第二版本就直接使用String。除了修改之外还统一了一些新的东西。比如添加事件监听的方法统一成了addEventListener。 虽然这个“DOM level 2”在2000年就推出了,但是可恶的微软拖了近十年,直到2009年的IE9才遵循这个标准。更麻烦的是目前还有大量的用户使用IE9之前版本的浏览器,这也是Web开发者最痛恨的事情之一了。 现代浏览器对“DOM level 2”的遵循已经做的很不错了,不过W3C在04年又制定了“DOM level 3”,在第三版中引入的东西目前还不太流行。我个人认为“DOM level 3”的推出和之前的两个版本的概念完全不同了。之前的版本是先有浏览器的API差异,之后才制定的标准,是有了需求之后才去发明的东西。但是第三版的功能感觉很鸡肋,它变成了先发明东西再去寻找需求。这不符合市场的规则。对于浏览器对它的兼容,目前而言,我觉得是无所谓的。 总之呢,DOM的level不是别的,就是一个大版本号。

日期:2015年04月17日

标签: 广州网站设计公司 、 广州网站设计 、 广州网站建设公司 、 广州网站建设 、 广州网站制作公司 、 广州网站制作 、 高端网站设计 、 高端网站建设 、 广州高端网站设计 、 广州高端网站建设

获取您的项目定制及优化报价。

* 为广州天河、白云、海珠、番禺、花都、南沙区提供网站建设服务。
微信二维码15876521776免费获取诊断报告