日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

兼容IE、FireFox、Chrome等瀏覽器的xml處理函數(shù)js代碼( 二 )


function xml_text(xmlNode)
{
if (null==xmlNode) return "";
var rt;
if (window.ActiveXObject) // IE
{
rt = xmlNode.text;
}
else
{
// FireFox, Chrome, ...
rt = xmlNode.textContent;
}
if (null==rt) rt=xmlNode.nodeValue; // XML DOM
return rt;
}
// 添加方法 。為了兼容FireFox、Chrome 。
if (!window.ActiveXObject)
{
XMLDocument.prototype.selectSingleNode = Element.prototype.selectSingleNode = function (xpath)
{
var x = this.selectNodes(xpath)
if ( ! x || x.length1 ) return null ;
return x[ 0 ];
}
XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath)
{
var xpe = new XPathEvaluator();
var nsResolver = xpe.createNSResolver( this.ownerDocument == null?this.documentElement : this.ownerDocument.documentElement);
var result = xpe.evaluate(xpath, this , nsResolver, 0 , null );
var found = [];
var res;
while (res = result.iterateNext())
found.push(res);
return found;
}
}

Chrome瀏覽器加載XML文檔
Chrome瀏覽器不支持load方法加載XML文檔 。網(wǎng)上找了下,需要如下解決:
復(fù)制代碼 代碼如下:
function loadXMLDoc(xml_name)
{
var xmlDoc;
try
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); // Support IE

catch(e)
{
try
{
// Support Firefox, Mozilla, Opera, etc
xmlDoc = document.implementation.createDocument("", "", null) ;// 創(chuàng)建一個(gè)空的 XML 文檔對(duì)象 。
}
catch(e)
{
alert(e.message);
}
}
// 加載XML文檔
try
{
xmlDoc.async = false; // 關(guān)閉異步加載
xmlDoc.load(xml_name);
}
catch(e)
{
// alert(e.message) 如果瀏覽器是Chrome,則會(huì)catch這個(gè)異常:Object # (a Document) has no method "load",所以,以下實(shí)現(xiàn)支持chrome加載XML文檔(只是粗略的寫下)
var xhr = new XMLHttpRequest();
xhr.open("GET", xml_name, false);
xhr.send(null);
xmlDoc = xhr.responseXML.documentElement;
}
return xmlDoc;
}

BTW,各瀏覽器加載XML字符串也不同 。
IE使用 loadXML() 方法來(lái)解析 XML 字符串:
復(fù)制代碼 代碼如下:xmlDoc.loadXML(xml_str);
FireFox等使用DOMParser 對(duì)象解析XML字符串:
復(fù)制代碼 代碼如下:
var parseXml = new DOMParser();
var doc = parseXml.parseFromString(xml_str,"text/xml");
您可能感興趣的文章:FireFox與IE 下js兼容觸發(fā)click事件的代碼JS獲得鼠標(biāo)位置(兼容多瀏覽器ie,firefox)我們修正版JS 獲取span標(biāo)簽中的值的代碼 支持ie與firefoxIE,firefox(火狐)瀏覽器無(wú)提示關(guān)閉窗口js實(shí)現(xiàn)代碼小結(jié)js Firefox 加入收藏夾功能代碼 兼容Firefox 和 IEJS遮罩層效果 兼容ie firefox jQuery遮罩層兼容IE與firefox火狐的回車事件(js與jquery)js操作textarea方法集合封裝(兼容IE,firefox)JS事件Event元素(兼容IE,Firefox,Chorme)兼容IE和Firefox火狐的上下、左右循環(huán)無(wú)間斷滾動(dòng)JS代碼利用js判斷瀏覽器類型(是否為IE,Firefox,Opera瀏覽器)js在IE與firefox的差異集錦

推薦閱讀