DOMImplementation 接口是 DOM 核心的基础接口,在 W3C DOM1 Core中就已定义,此后的 DOM2 Core,DOM3 Core 都对其进行了的扩展。它提供了一系列独立于任何特定 DOM 实例的方法,包括 hasFeature , createDocument 等。
W3C DOM1 Core 第一版中关于 DOMImplementation 接口的详细说明,请参见第 1.2 节
W3C DOM1 Core 第二版中关于 DOMImplementation 接口的详细说明,请参见第 1.2 节
W3C DOM2 Core 中关于 DOMImplementation 接口的详细说明,请参见第 1.2 节
W3C DOM3 Core 中关于 DOMImplementation 接口的详细说明,请参见第 1.4 节
关于 implementation 属性,请参考 W3C DOM2 Core 中的 Document接口
WebKit 中的 DOMImplementation 接口请参考 DOMImplementation
Firefox 下的 DOMImplementation 接口请参考 DOMImplementation
IE 下的 DOMImplementation 接口请参考 DOMImplementation
各浏览器对 DOMImplementation 接口的支持程度不同。
有些浏览器还在支持它,而有些浏览器则不支持,从而导致浏览器间的兼容性问题。
所有浏览器 |
---|
通过调用 Document 接口实例的 implementation 属性,可获得 DOMImplementation 接口实例,代码如下:
document.implementation
那么,目前的主流浏览器对 DOMImplementation 接口的支持情况究竟如何呢?参见如下代码:
alert(document.implementation.hasFeature); alert(document.implementation.createDocumentType); alert(document.implementation.createDocument); alert(document.implementation.getFeature);
根据以上代码在各浏览器下的表现,汇总结果如下表:
方法 | IE | Firefox | Chrome | Safar | Opera |
---|---|---|---|---|---|
hasFeature | 支持 | 支持 | 支持 | 支持 |
支持
|
createDocumentType | 不支持 | 支持 | 支持 | 支持 | 支持 |
createDocument | 不支持 | 支持 | 支持 | 支持 | 支持 |
getFeature | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
DOMImplementation 接口的支持程度 | DOM1 | DOM2 | DOM2 | DOM2 | DOM3 |
从上表中,可以清楚的看出, DOMImplementation 接口在各主流浏览器下的支持情况。
注意:以上讨论的方法,都是标准中 DOMImplementation 接口定义的,而实际上某些浏览器可能对 DOMImplementation 接口的实现进行了扩展,如 WebKit 就额外扩展了 “createCSSStyleSheet” 方法。
避免使用各浏览器支持程度不同的 DOMImplementation 的接口。
操作系统版本: | Windows 7 Ultimate build 7600 |
---|---|
浏览器版本: |
IE6
IE7 IE8 Firefox 3.6 Chrome 4.0.302.3 dev Safari 4.0.4 Opera 10.60 |
测试页面: | DOMImplementation_support.html |
本文更新时间: | 2010-07-26 |
DOMImplementation implementation createDocument