跨浏览器处理xml 兼容IE
来源:互联网 发布:非农数据看过你 编辑:程序博客网 时间:2024/05/22 00:17
/** * 1.跨浏览器处理xml * 2.load方法只有IE,firefox,opera支持,所有无法跨浏览器 * 3.xmldom对象顺序问题,先进行先进的dom2,再去判断其他的IE * 4.不同浏览器不同的序列化操作 * 5.不同报错,进行不同的报错机制 *//** * 1.跨浏览器获取xmldom */function getXMLDOM(xmlStr) { var xmlDom = null; // 标准的w3c浏览器创建DOMParser对象 if (typeof window.DOMParser != 'undefined') { // DOMParser对象中的方法parseFromString();接收两个参数来创建xmldom对象 xmlDom = (new DOMParser()).parseFromString(xmlStr, 'text/xml'); // 如果产生错误会是一个新的文档parsererror // HTMLCollection[parsererror] // 错误文档是<parsererror>这里是内容</pasererror> var errors = xmlDom.getElementsByTagName('parsererror'); console.log(errors); if (errors.length > 0) { throw new Error('XML解析错误:' + errors[0].firstChild.nodeValue); } } else if (typeof window.ActiveXObject != 'undefinded') { // IE8和以下 var version = [ // 版本顺序6.0推荐并且稳定,3.0最低推荐,最后一个特殊情况下用的 'MSXML2.DOMDocument6.0', 'MSXML2.DOMDocument3.0', 'MSXML2.DOMDocument' ]; for (var i = 0, len = version.length; i < len; i++) { try { // 判断支持哪个版本 var xmlDom = new ActiveXObject(version[i]); } catch (e) {} } // 加载xml字符串 xmlDom.loadXML(xmlStr); // IE8和以下错误属性对象parseError // 这个属性有多个对象 // errorCode发生错误类型代号 // filepos发生错误文件中的位置 // line错误行号 // linepos错误行号,那一行上的字符的位置 // resion错误的解释原因 // alert(xmlDom.parseError); // 等于0的时候才是正确的xml字符串 if (xmlDom.parseError != 0) { throw new Error('XML解析错误:' + xmlDom.parseError.reason); } } else { throw new Error('您的系统或浏览器不支持xmldom!'); } return xmlDom;}// alert(getXMLDOM('<root><user>邓志强getXMLDOM</user></root>').documentElement.tagName);// alert(window.DOMParser);//PS:为了跨越所有浏览器兼容,我们放弃了从外部加载XML文件,而使用了字符串XML加载和序列化。function serializerXML(xmlDom) { var xml = ''; // w3c的XMLSerializer序列化方法 // new XMLSerializer()创建一个序列化对象 // 序列化xmldom对象 if (typeof window.XMLSerializer != 'undefined') { xml = (new XMLSerializer()).serializeToString(xmlDom); } else if (typeof xmlDom.xml != 'undefined') { // IE的序列化方法 xml = xmlDom.xml; } return xml;}getXMLDOM('<root><user>邓志强getXMLDOM</user></root>');
0 0
- 跨浏览器处理xml 兼容IE
- 兼容IE、FireFox、Chrome等浏览器的xml处理函数
- DOM事件处理跨浏览器(兼容IE)封装
- 如何快速处理IE浏览器兼容
- [JavaScript] 兼容IE、FireFox、Chrome等浏览器的xml处理函数(xml同步/异步加载、xsl转换、selectSingleNode、selectNodes)
- [JavaScript] 兼容IE、FireFox、Chrome等浏览器的xml处理函数(xml同步/异步加载、xsl转换、selectSingleNode、selectNodes)
- 如何跨浏览器处理事件【兼容各大浏览器包括ie】
- 兼容在IE和Firefox浏览器下操作XML(英)
- js 加载xml 兼容各个浏览器,safari,ie ff,
- IE 浏览器兼容 代码
- IE浏览器兼容
- ie浏览器兼容插件
- ie浏览器兼容
- ie浏览器兼容笔记
- ie浏览器兼容笔记
- IE 浏览器兼容
- 兼容ie浏览器
- 跨浏览器兼容事件处理
- leetcode 238: Product of Array Except Self
- IOS 委托和协议区别和联系 (-)
- Jade 学习心得
- ISA Server 2006 基础知识
- WebService学习笔记之WSDL
- 跨浏览器处理xml 兼容IE
- Eclipse 中jdbc连接Oracle数据库的封装
- 很机智的dialog有木有,可以参考一下。
- 【动态规划】[UVa 1099]Sharing Chocolate
- phpcms调取当前栏目的描述及当前栏目的名称
- FreeMarker几种不同方式的展现数据
- 队列小记之一
- android中TextView属性之autoText解析
- java 正则