`

IE/火狐浏览器对JS,XML文件解析的不同

阅读更多

最近在研究XML的时候,发现火狐与IE的javascript,解析XML支持各不相同。。。。而我的项目必须在这两个浏览器都能用,于是,需要整合不同了。。
大体流程是这样的:
在JSP页面,点击按钮后,通过ajax,跳入后台调用java方法,返回的是XML数据类似于“<a><b name="b"/></a>”,
接下来在javascript里解析XML数据,返回JSP。
过程是这样的:
首先,声明XMLDom,默认浏览器为IE,如果不行,则使用火狐
try{
 this.XMLDOM  = new ActiveXObject("Microsoft.XMLDOM");
}catch(e){
     try{
      this.XMLDOM = document.implementation.createDocument("", "", null);
     }catch(e){
      alert("'Microsoft.XMLDOM' created Error! " + e);
     }
}
接下来,ajax调用后台方法,返回数据,,,,这个就略了,假如返回的是<a><b name="b"/></a>;
然后,javascript解析该数据,假如返回的数据变量是responseXML,
 IE传统的方法就是使用刚才声明的XMLDOM,例如IE:XMLDOM.loadXML(responseXML),但是在火狐不支持,这就尴尬了,,,
 经过查资料,火狐使用XMLDOM.load(responseXML),但是这里的responseXML,应该是一个XML文件的路径,而不是字符串类型的数据,,至少我测试的时候没有通过,,
 接下来就找到了另外一种方式:
  var oParser = new DOMParser();
       var oXmlDom = oParser.parseFromString(xmlhttp.responseText,"text/xml");
 这个问题就解决了,,,
然后就是解析的事了,,注意在获取节点属性的时候,格式是这样的:element.getAttribute("name");
IE以前是用element.attributes.getNamedItem("id").text,但是这里不支持

 

分享到:
评论

相关推荐

    JS读取本地XML(支持IE和火狐)

    综上所述,实现JS在IE和火狐中读取本地XML的关键在于使用FileReader API读取文件内容,然后使用XMLHttpRequest或ActiveXObject进行异步数据处理。这种技术避免了弹出驱动提示,提高了用户体验。

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐) .zip

    对于IE浏览器,你需要这样操作: ```javascript if (window.ActiveXObject) { var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = "false"; xmlDoc.loadXML(xmlString); } else { var parser...

    js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)

    分别针对ie和火狐分别作了对xml文档和xml字符串的解析,所有代码都注释掉了,想看哪部分功能,去掉注释就可以了。至于在ajax环境下解析xml,其实原理是一样的,只不过放在了ajax里,还是要对返回的xml进行解析。 ...

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)

    在JavaScript中,读取XML文件数据并以表格(Table)的形式显示是一种常见的数据处理方法,尤其在处理结构化数据时非常实用。本文将详细介绍如何实现这个功能,同时确保兼容Internet Explorer(IE)和Firefox等主流...

    上传图片获取图片信息(兼容IE和火狐)

    4. **火狐浏览器的注意点**:Firefox有时可能会在`load`事件触发前就返回了`dataURL`,这时我们需要确保图片已经完全加载后再进行处理。可以使用`img.complete`属性检查图片是否已加载。 ```javascript if (!img....

    js操作XML文件的实现方法兼容IE与FireFox

    最近项目中用到了xml,需求是用户安装产品时先把一系列的数据保存到xml文件中,当执行到最后一步时才写入数据库,这样最大限度的减少了数据库的访问,于是不得不纠结在各浏览器的兼容性的问题(悲哀啊….) ...

    FireFox下XML对象转化成字符串的解决方法

    通过在非IE浏览器上添加`Node.prototype.xml`的getter方法,我们可以在任何XMLNode上调用`.xml`来获取其字符串表示。这个方法不仅适用于整篇XML文档,也适用于XML文档的任意节点。对于其他浏览器,可能需要采用不同...

    jQuery特效 3D效果的网页名片flash+xml特效代码

    描述中提到“本地测试”意味着开发者可以在自己的机器上验证ie和火狐浏览器下的3D名片效果,确保兼容性和功能完整性。 综合上述,这个资源包包含了一个使用jQuery实现的3D效果网页名片。它可能利用了CSS3的3D变换...

    iejoyswebos for .net WEBOS桌面开发框架程序

    建议使用IE7或火狐浏览器! 本程序使用了EXTJS3.3最新版本!并对EXTJS中原有的一些不适合大型项目使用的方法进行了改写,具体有: 1。全动态JS文件与CSS文件加载,具有避免重复加载的功能 2。对模块JSON进行了拓展...

    ASP.NET搭配Ajax实现搜索提示功能

    这通常通过解析navigator.userAgent字符串来完成,通过寻找特定的标识符(如"MSIE"代表IE浏览器,"Firefox"代表火狐浏览器)来判断当前浏览器的类型。之后,我们才能决定如何绑定或解绑相应的事件处理函数。 ```...

    ajax实现数据验证

    // IE浏览器的请求方式 myRequest = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { // 火狐等现代浏览器的请求方式 myRequest = new XMLHttpRequest(); } else { alert(...

    ajax超好用的文档

    - **步骤**:在IE浏览器中测试(火狐浏览器没有缓存机制,而IE有缓存功能,可以更好地模拟实际应用场景)。 - **作用**:验证GET请求是否正常工作。 ##### 2.4 结果 - **预期**:成功获取服务器端返回的数据并在...

    ajax 仿google下垃菜单提示框

    在这个案例中,特别提到了对火狐浏览器的支持。这可能涉及到对旧版IE浏览器的polyfill,或者使用像jQuery这样的库来简化跨浏览器的代码。 8. **性能优化**:为了避免频繁请求,可以设置延迟发送请求的机制,比如...

    firefox3中onreadystatechange事件不会触发

    另一个解决办法是使用`addEventListener`或`attachEvent`(IE浏览器)来手动绑定事件处理函数,而不是直接在XMLHttpRequest对象上设置`onreadystatechange`属性。 此外,查看博文链接...

    动易专业版——Upgrade_SiteFactory.Professional_2.5.2.0-2.5.3.0的升级包

    ●在火狐浏览器下,后台会员管理点击 “进入会员中心”按钮,提示:不存在此会员。 ●设置会员组升级参数时,修改会员组的“用户可升级到的用户组”在修改显示时不对应。 ●后台会员管理修改会员信息时,用户密码...

    JS+CSS实现滑动切换tab菜单效果

    - 代码在火狐、IE8、Chrome等浏览器下测试通过,说明开发过程中需要对不同浏览器进行兼容性测试。 - 具体实现中可能会遇到浏览器兼容性问题,通常需要额外的CSS规则或JavaScript代码来确保所有用户都能获得一致的...

Global site tag (gtag.js) - Google Analytics