JavaScript DOM基础之测试与DOM标准的一致性

2011-08-10 14:14:43 by 【6yang】, 127 visits, 收藏 | 返回

现在您肯定可以说出DOM的许多方面。

 

   正因如此,您需要一种方法来确定给定的DOM实现到底支持DOM的哪些部分。有趣的是,这个对象就叫做implementation。

 

   implementation对象是DOM文档的一个特性因此,也是浏览器document对象的一部分。

 

   implementation唯一的方法是hasFeature(),它接受两个参数:要检查的特征和特征的版本。

 

   例如,如果想检查对XMLDOM Level 1的支持,可以这样调用:

 

   var bXml Level 1 = document.implementation.hasFeature{"XML", "1.0 "};

 

   下面的表格列出了所有的DOM特征以及相应需要检查的版本:

 

   特征:Core、支持的版本:1.0, 2.0, 3.0、描述:基本的DOM,给予了用层次树来表示文档的能力


   特征:XML、支持的版本:1.0, 2.0, 3.0、描述:核心的XML扩展,增加了对CDATA Section、处理指令和实体的支持


   特征:HTML、支持的版本:1.0,2.0、描述:XML的HTML扩展,增加了对HTML特定元素和实体的支持


   特征:Views、支持的版本:2.0、描述:基于特定样式完成对文档的格式化


   特征:StyleSheets、支持的版本:2.0、描述:为文档关联样式表


   特征:CSS、支持的版本:2.0、描述:支持级联样式表1(CSS Level 1)


   特征:CSS2、支持的版本:2.0、描述:支持级联样式表2(CSS Level 2)


   特征:Events、支持的版本:2.0、描述:通用DOM事件


   特征:UIEvents、支持的版本:2.0、描述:用户界面事件


   特征:MouseEvents、支持的版本:2.0、描述:由鼠标引起的事件(点击、鼠标经过,等等)


   特征:MutationEvents、支持的版本:2.0、描述:当DOM树发生改变时引发的时间


   特征:HTMLEvents、支持的版本:2.0、描述:HTML4.01的事件


   特征:Range、支持的版本:2.0、描述:操作DOM数种某个特定范围的对象和方法


   特征:Traversal、支持的版本:2.0、描述:遍历DOM树的方法


   特征:LS、支持的版本:3.0、描述:在文件和DOM树之间同步地载入和存储


   特征:LS-Async、支持的版本:3.0、描述:在文件和DOM树之间异步地载入和存储


   特征:Validation、支持的版本:3.0、描述:用于修改DOM树之后仍然保持其有效性的方法

 

   尽管这个相当方便,但是,使用implementation.hasFeature()有其明显的缺陷——决定DOM实现是否对DOM标准的不同的部分相一致的,正是去进行实现的人(或公司)。

 

   要让这个方法对于任何值都返回true,那是很简单的,但这并不一定表示这个DOM实现真的和所有的标准都一致了。

 

   目前为止,最精确的浏览器要数Mozilla,但它多少也有一些并不完全和DOM标准一致的地方,这个方法却返回为true。

分享到:
share

    图片原图

    loading

    loading