XML4跨浏览器兼容
生活随笔
收集整理的這篇文章主要介紹了
XML4跨浏览器兼容
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//跨瀏覽器返回XMLDOM對象 function?getXMLDOM(xmlStr){ var?xmlDom=null; if(typeof?window.DOMParser?!='undefined'){ xmlDom=(new?DOMParser).parseFromString(xmlStr,'text/xml'); var?errors=xmlDom.getElementsByTagName('parsererror'); if(errors.length>0){ throw?new?Error('錯誤信息:'+errors[0].textContent); } }else?if(typeof?window.ActiveXObject){ var?version=[ 'MSXML2.DOMDocument6.0', 'MSXML2.DOMDocument3.0', 'MSXML2.DOMDocument', ]; for(var?i=0;i<version.length;i++){ try{ var?xmlDom=new?ActiveXObject(version[i]); }catch(e){ //跳過 } } xmlDom.loadXML(xmlStr); if(xmlDom.parseError!=0){ throw?new?Error('錯誤信息:'+xmlDom.parseError.reason); }; return?xmlDom; }else{ throw?new?Error("您的系統或瀏覽器不支持XML?DOM對象!"); };
return?xmlDom; } //序列化XML function?serializerXML(xmlDom){ var?xml=''; if(typeof?window.XMLSerializer!='undefined'){ xml=(new?XMLSerializer()).serializeToString(xmlDom); }else?if(typeof?xmlDom.xml!='undefined'){ xml=xmlDom.xml; } return?xml; } var?xmlStr='<root><user>Leee</user></root>'; var?xmlDom=getXMLDOM(xmlStr); //?alert(xmlDom.xml);?//只有IE支持此序列化 alert(serializerXML(xmlDom));
//PS:?為了跨域所有瀏覽器兼容,我們放棄了從外部加載XML文件,而使用字符串XML加載和序列化
return?xmlDom; } //序列化XML function?serializerXML(xmlDom){ var?xml=''; if(typeof?window.XMLSerializer!='undefined'){ xml=(new?XMLSerializer()).serializeToString(xmlDom); }else?if(typeof?xmlDom.xml!='undefined'){ xml=xmlDom.xml; } return?xml; } var?xmlStr='<root><user>Leee</user></root>'; var?xmlDom=getXMLDOM(xmlStr); //?alert(xmlDom.xml);?//只有IE支持此序列化 alert(serializerXML(xmlDom));
//PS:?為了跨域所有瀏覽器兼容,我們放棄了從外部加載XML文件,而使用字符串XML加載和序列化
轉載于:https://www.cnblogs.com/gengxinnihaoma/p/7562093.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的XML4跨浏览器兼容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于ESXI能虚拟出多少个虚拟机和CPU
- 下一篇: 20170820