JS 读取 XML 浏览器兼容问题?
我的代码目前只有谷歌能读出来,我也不知道为什么。<scripttype="text/javascript">loadXML=function(xmlString){var...
我的代码目前只有谷歌能读出来,我也不知道为什么。
<script type="text/javascript">
loadXML = function (xmlString) {
var xmlDoc = null;
if (window.ActiveXObject) {
var xmlDomVersions = ['MSXML.2.DOMDocument.6.0', 'MSXML.2.DOMDocument.3.0', 'Microsoft.XMLDOM'];
for (var i = 0; i < xmlDomVersions.length; i++) {
try {
xmlDoc = new ActiveXObject(xmlDomVersions[i]);
xmlDoc.async = false;
xmlDoc.loadXML(xmlString);
break;
} catch (e) {
}
}
}
//支持Mozilla浏览器
else if (document.implementation && document.implementation.createDocument) {
try {
domParser = new DOMParser();
xmlDoc = domParser.parseFromString(xmlString, 'text/xml');
} catch (e) {
}
}
else {
return null;
}
return xmlDoc;
}
//对xml对象进行判断
checkXMLDocObj = function (xmlString) {
var xmlDoc = loadXML(xmlString);
if (xmlDoc == null) {
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
}
return xmlDoc;
}
function answer() {
var xmlstr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + XMLTest2.SystemQuestionXML().value;
xmlDoc = checkXMLDocObj(xmlstr);
n = xmlDoc.getElementsByTagName("Table");
flag = 0;
alert(n[flag].getElementsByTagName("Question")[0].firstChild.nodeValue);
}
</script>
其中XMLTest2.SystemQuestionXML().value;就是从服务器返回的一段XML字符串。
举一个例子:
"<Table><ID>1</ID><Question>有一个故事</Question></Table>"
如何才能让每一个浏览器都能弹出 Question里的内容?
我之前写的代码也好多了,整个代码都用jquery写,量太大了(再说我深入接触过jquery,难度大)。
我QQ:453089894
求大神指点,小弟感激不尽。
IE 提示错误是 无法获取属性“childNodes”的值: 对象为 null 或未定义
火狐就无解,不知怎么的就不出结果。 展开
<script type="text/javascript">
loadXML = function (xmlString) {
var xmlDoc = null;
if (window.ActiveXObject) {
var xmlDomVersions = ['MSXML.2.DOMDocument.6.0', 'MSXML.2.DOMDocument.3.0', 'Microsoft.XMLDOM'];
for (var i = 0; i < xmlDomVersions.length; i++) {
try {
xmlDoc = new ActiveXObject(xmlDomVersions[i]);
xmlDoc.async = false;
xmlDoc.loadXML(xmlString);
break;
} catch (e) {
}
}
}
//支持Mozilla浏览器
else if (document.implementation && document.implementation.createDocument) {
try {
domParser = new DOMParser();
xmlDoc = domParser.parseFromString(xmlString, 'text/xml');
} catch (e) {
}
}
else {
return null;
}
return xmlDoc;
}
//对xml对象进行判断
checkXMLDocObj = function (xmlString) {
var xmlDoc = loadXML(xmlString);
if (xmlDoc == null) {
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
}
return xmlDoc;
}
function answer() {
var xmlstr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + XMLTest2.SystemQuestionXML().value;
xmlDoc = checkXMLDocObj(xmlstr);
n = xmlDoc.getElementsByTagName("Table");
flag = 0;
alert(n[flag].getElementsByTagName("Question")[0].firstChild.nodeValue);
}
</script>
其中XMLTest2.SystemQuestionXML().value;就是从服务器返回的一段XML字符串。
举一个例子:
"<Table><ID>1</ID><Question>有一个故事</Question></Table>"
如何才能让每一个浏览器都能弹出 Question里的内容?
我之前写的代码也好多了,整个代码都用jquery写,量太大了(再说我深入接触过jquery,难度大)。
我QQ:453089894
求大神指点,小弟感激不尽。
IE 提示错误是 无法获取属性“childNodes”的值: 对象为 null 或未定义
火狐就无解,不知怎么的就不出结果。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询