DocumnetLS 是 DOM3 中一个过时的接口。它为文档内容的处理提供了一种机制,使其可序列化,或可通过加载一个 URI 来替换已生成的 DOM 树,或解析一个字符串。该接口在 200 1-04-19 的 DOM-Level-3-CMLS 草案中第一次出现,直到 2003-06-19 的 DOM-Level-3-LS 草案还一直存在。然而,在 2003-11-07 的候选版本 CR-DOM-Level-3-LS 中,该接口落马。目前 w3c 推荐的版本 DOM-Level-3-LS 中并无该接口。
更多参考资料:
2001-04-19 DOM-Level-3-CMLS 草案
2003-06-19 DOM-Level-3-LS 草案
2003-11-07 CR-DOM-Level-3-LS 候选版本
目前 W3C 推荐 DOM-Level-3-LS 版本
DocumnetLS 是 DOM3 中一个过时的接口。
有些浏览器还在支持它,而有些浏览器则不支持,从而导致浏览器间的兼容性问题。
所有浏览器 |
---|
DocumentLS 接口中定义了一些属性和方法,如下:
interface DocumentLS { attribute boolean async;// 指出 load() 将以同步,还是异步方式加载 void abort();//中断加载资源 boolean load(in DOMString uri);// 加载指定的 URI 资源 boolean loadXML(in DOMString source);// 解析 xml 字符串 DOMString saveXML(in Node node);// 保存节点为一字符串,即序列化节点 };
DocumentLS 接口为可选接口,如果被支持,它将绑定到 Document 接口实例,也就是说,我们可以通过如下方式来访问 DocumentLS 接口中的方法,或属性,代码如下:
document.load(URI);
在W3C推荐的 DOM3 Load and Save 说明文档中,DocumentLS 接口已经被抛弃。那么,目前主流的浏览器对 DocumentLS 接口支持如何呢?请观察如下代码:
var xmlDoc = document.implementation.createDocument("", "", null); alert(xmlDoc.async); alert(xmlDoc.abort); alert(xmlDoc.load); alert(xmlDoc.loadXML); alert(xmlDoc.saveXML);
在各浏览器下的运行结果,汇总如下表:
DocumentLS 接口属性/方法 | IE | Firefox(Gecko 1.9) | Chrome/Safari | Opera |
---|---|---|---|---|
async | NO | YES | NO | YES |
abort | NO | NO | NO | NO |
load | NO | YES | NO | YES |
loadXML | NO | NO | NO | NO |
saveXML | NO | NO | NO | NO |
从上表中,可以清楚的看出,DocumentLS 接口在各主流浏览器下的支持情况。
关于 Firefox 下 document.load 的更详细信息,请参考 mozilla document.load 。
由于 W3C 推荐的标准中,已经放弃了 DocumentLS 接口,为更好的兼容各浏览器,建议采用 XMLHttpRequest 方式载入xml文件,示例代码如下:
var xhr = window.XMLHttpRequest ? new window.XMLHttpRequest(): new window.ActiveXObject("Microsoft.XMLHTTP") xhr.onreadystatechange = function(){ if(xhr.readyState == 4){ var xmlDoc = xhr.responseXML // do something what you want ... } }; xhr.open('GET', 'test.xml', true); xhr.send();
关于 ActiveXObject ,请参考MSDN的 ActiveXObject Object 。 关于 XML DOM 的属性,请参考MSDN的 XML DOM Properties 。 关于 XML DOM的方法,请参考MSDN的 XML DOM Methods 。 关于 XMLHttpRequest 的详细信息,请参考 w3c 草案的 XMLHttpRequest 。
操作系统版本: | Windows 7 Ultimate build 7600 |
---|---|
浏览器版本: |
IE6
IE7 IE8 Firefox 3.6 Chrome 4.0.302.3 dev Safari 4.0.4 Opera 10.60 |
测试页面: | DocumentLS_support.html |
本文更新时间: | 2010-07-26 |
DocumentLS implementation load XMLHttpRequest ActiveXObject