1

利用document.implementation.hasFeature()检测DOM一致性

  由于DOM分为多个级别,也包含多个部分,因此检测浏览器实现了DOM的哪些部分就十分必要。document.implementation属性就是这些提供相应信息和功能的对象。与浏览器对DOM的实现直接对应。
图片描述

document.implementation

概要
返回一个和当前文档相关联的DOMImplementation对象。
说明
W3C的DOM1级建议值规定了一种检测浏览器对某个DOM模型是否支持的方法——hasFeature方法。如果它可用的话,那么DOMImplementation接口的其他方法就可以为操作文档以外的内容提供一些服务了。例如,DOMImplementation接口包含一个createDocumentType方法,它可以为实例管理的文档创建对应的DTD文档定义。
方法
名称 动作 返回值
createDocument (namespaceURI, qualifiedNameStr, DocumentType ) document
createDocumentType ( qualifiedNameStr, publicId, systemId ) DocumentType
createHTMLDocument ( title ) document
getFeature ( feature, version ) DOMObject
hasFeature ( feature, version ) Boolean
检测的DOM功能的名称及版本号
  DOM1级只为document.implementation规定了一个方法,即hasFeature()。这个方法接受两个参数:要检测的DOM功能的名称及版本号。如果浏览器支持给定名称和版本的功能,则该方法返回true。

<script>var hasCoreDom1 = document.implementation.hasFeature('Core','1.0');
var hasCss1 = document.implementation.hasFeature('CSS','2.0');
var hasHTML = document.implementation.hasFeature('HTMLEvents','2.0');
//IE8-浏览器返回false,其他浏览器true
console.log(hasCoreDom1);
</script> 

specialcoder
2.2k 声望170 粉丝

前端 设计 摄影 文学