使用Internet Explorer检索XML DOM对象的URI
Retrieve URI of an XML DOM object using Internet Explorer
在Firefox和Chrome中,如果使用XMLHTTPRequest
对象创建XML DOM的文档节点对象,则其documentURI
属性将返回DOM的URI。
InternetExplorerDOM是否有等效的属性?如果有,它是什么?documentURI
、url
、URL
和baseURI
属性都返回null或未定义。
url
属性的MSXML文档让我希望它能返回创建DOM的HTTP请求中使用的URL,但给出的示例没有使用XMLHTTPRequest
。
我用来创建DOM并测试属性的代码如下:
function getXslDom(url) {
if (typeof XMLHttpRequest == "undefined") {
XMLHttpRequest = function () {
return new ActiveXObject("Msxml2.XMLHTTP.6.0");
};
}
var req = new XMLHttpRequest();
req.open("GET", url, false);
req.send(null);
var status = req.status;
if (status == 200 || status == 0) {
return req.responseXML;
} else {
throw "HTTP request for " + url + " failed with status code: " + status;
}
};
var xslDom = getXslDom('help.xsl');
// the following shows "undefined" for IE
window.alert(xslDom.documentURI);
使用您链接的MSXML页面中的示例,我成功地使其工作起来:
<script>
var getXslDom = function(url) {
if(typeof ActiveXObject === 'function') {
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.load(url);
if (xmlDoc.parseError.errorCode != 0) {
var myErr = xmlDoc.parseError;
throw "You have error " + myErr.reason;
} else {
return xmlDoc;
}
} else {
var req = new XMLHttpRequest();
req.open("GET", url, false);
req.send(null);
var status = req.status;
if (status == 200 || status == 0) {
return req.responseXML;
} else {
throw "HTTP request for " + url + " failed with status code: " + status;
}
}
}
var dom = getXslDom('help.xsl')
alert(dom.documentURI || dom.url)
</script>
这是一个演示。
干杯!
PS:我使用"alert"只是因为OP似乎在使用它,我个人更喜欢"console.log",我也向OP推荐它。
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 追加子数据 URI,替换 IE 中的其他对象
- 使用Internet Explorer检索XML DOM对象的URI
- 将 JavaScript 对象转换为 URI 编码的字符串
- chrome/ff中带有createObjectURL的对象URL的数据URI
- Undefined不是一个有效的uri或options对象.在expressjs
- 从图像URI创建Javascript文件/Blob对象
- 如何在没有 FileReader 的情况下从 Blob 和 File 对象创建 ArrayBuffer 和数据 URI