关于javascript读取xml文档并且兼容Mozilia 、chrome和IE浏览器
最近在学习javascript,在学习到文档对象模型的时候,学习了一下关于js读取xml的方法,期间ie很好解决,但是在ff和chrome下就不知如何解决了,网上查看资料后,果断的实践了一下,下面文件在读取xml实现了兼容ie/Firefox/chrome,但是在显示数据表的时候只有ie可以,希望看到的人不吝赐教。
jsp文件
-------------------------------------------------------------------------------------
<%@ page language="java"pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>测试js加载xml文件[支持IE/Mozlia/Chrome浏览器]</title>
<script type="text/javascript">
function loadXML(xmlString){
var agent = navigator.userAgent.toLowerCase();
var xmlDoc=null;
//支持IE浏览器
if(!(agent.indexOf("opera")>-1) && (agent.indexOf("msie") > -1)){ // 判断是否是非ie浏览器
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.load(xmlString); //load方法载入xml字符串
break;
}catch(e){}
}
}
//Chrome浏览器 注:需要浏览器支持
else if(agent.indexOf("chrome") > -1){
// 判断是否是非chrome浏览器
try{
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET",xmlString,false);
xmlhttp.send(null);
alert(xmlhttp.readyState);
if(xmlhttp.readyState == 4){
xmlDoc = xmlhttp.responseXML.documentElement;
}
}catch(e){
alert("谷歌浏览器不支持该解析方式!");
}
}
//支持Mozilla浏览器
else if(!(agent.indexOf("chrome") > -1)
&& !(/webkit|khtml/).test(agent)
&& agent.indexOf("gecko")){ //判断是否是火狐浏览器
try{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDo