首页 > 代码库 > (转)如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)
(转)如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)
如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)
2013-09-10 16:01 2152人阅读 评论(0) 收藏 举报
在IE浏览器下,xmlDom对象一般这样被定义:
[html] view plaincopy
- var xmlDom= new ActiveXObject("Microsoft.XMLDOM");
为了兼容Firefox,需要修改为:
[html] view plaincopy
- if (window.ActiveXObject){
- var xmlDom=new ActiveXObject("Microsoft.XMLDOM");
- }
- else{
- if (document.implementation&& document.implementation.createDocument){
- var xmlDom= document.implementation.createDocument("","",null);
- }
- }
在使用DOM操作XML文件时,我们可以使用Load方法直接加载文件路径即可,在ie和ff下通用。但是如果传入的是XML字符串,则在两种浏览器下就会有所不同,IE下可以使用LoadXML方法直接调入下XML串,在FF下则不存在该方法,因此要使用W3CDom方式,具体如下:
[html] view plaincopy
- var oParser=new DOMParser();
- xmlDom=oParser.parseFromString(xmlStr,"text/xml");
为兼容各种浏览器,我们这样去做即可:
[html] view plaincopy
- try{
- if (window.ActiveXObject){
- xmlDoc= new ActiveXObject("Microsoft.XMLDOM");
- xmlDoc.async = false;
- isLoaded = xmlDoc.load(aXMLFileName);
- }
- else if
- (document.implementation&& document.implementation.createDocument){
- try{
- xmlDoc = document.implementation.createDocument(‘‘, ‘‘, null);
- xmlDoc.async = false;
- xmlDoc.load(aXMLFileName);
- } catch(e){
- var xmlhttp = new window.XMLHttpRequest();
- xmlhttp.open("GET",aXMLFileName,false);
- xmlhttp.send(null);
- xmlDoc = xmlhttp.responseXML;
- }
- }
- else{
- alert("load data error");
- }
- }
- catch(e){
- alert(e.message);
- }
(转)如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。