如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)
2013-11-04 15:47
423 查看
在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);
[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(火狐)
- (转)如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)
- JS解析XML数据,ActiveXObject("Microsoft.XMLDOM")对象兼容IE和火狐
- ActiveXObject( "Microsoft.XmlDom ") 不支持火狐
- 在Table中的TD中显示回车;ActiveXObject("microsoft.xmldom")结果集中的回车转换
- load(url)与loadXML(xml/string)【ActiveXObject("Microsoft.XMLDOM")】
- ActiveXObject( "Microsoft.XmlDom ") 在ff下兼容性问题?
- ActiveXObject( "Microsoft.XMLHTTP ")解析
- ActiveXObject('Microsoft.XMLHTTP')出现“没有权限” 跨域权限问题
- NET中"无法显示 XML 页。 使用 XSL 样式表无法查看 XML 输入。"问题的解决
- 2006-07-28 Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆
- ActiveX 控件“Microsoft Chart Control 6.0(sp4)(OLEDB)"不能例示,因为它需要一个设计时间许可
- 解如何利用 XML 和 JavaScript Object Notation 在 Ajax 客户端和 Java 服务器之间传输数据(代码)(Oracle)。
- ArcEngine 无法将类型为"Systerm._ComObject"的对象强制转换为类型******
- WPF4数据绑定应用之"创建具有多种显示效果的字串"
- WebView注入Java对象注意事项 [INFO:CONSOLE(475)] "Uncaught TypeError: Object [object Object] has no method
- "Microsoft Office Word 遇到问题需要关闭"如何解决?
- 如何应对new ActiveXObject("WScript.Shell")创建失败的问题
- linux内核参数"vga="如何影响显示模式
- 查看如何在一个 HTML 表格中显示 XML 数据。