2013-09-10 16:01 2152人阅读 评论(0) 收藏 举报

在IE浏览器下,xmlDom对象一般这样被定义:

  1. var xmlDom= new ActiveXObject("Microsoft.XMLDOM");

为了兼容Firefox,需要修改为:

  1. if (window.ActiveXObject){
  2. var xmlDom=new ActiveXObject("Microsoft.XMLDOM");
  3. }
  4. else{
  5. if (document.implementation&& document.implementation.createDocument){
  6. var xmlDom= document.implementation.createDocument("","",null);
  7. }
  8. }

在使用DOM操作XML文件时,我们可以使用Load方法直接加载文件路径即可,在ie和ff下通用。但是如果传入的是XML字符串,则在两种浏览器下就
会有所不同,IE下可以使用LoadXML方法直接调入下XML串,在FF下则不存在该方法,因此要使用W3CDom方式,具体如下:

  1. var oParser=new DOMParser();
  2. xmlDom=oParser.parseFromString(xmlStr,"text/xml");

为兼容各种浏览器,我们这样去做即可:

    1. try{
    2. if (window.ActiveXObject){
    3. xmlDoc= new ActiveXObject("Microsoft.XMLDOM");
    4. xmlDoc.async = false;
    5. isLoaded = xmlDoc.load(aXMLFileName);
    6. }
    7. else if
    8. (document.implementation&& document.implementation.createDocument){
    9. try{
    10. xmlDoc = document.implementation.createDocument('', '', null);
    11. xmlDoc.async = false;
    12. xmlDoc.load(aXMLFileName);
    13. } catch(e){
    14. var xmlhttp = new window.XMLHttpRequest();
    15. xmlhttp.open("GET",aXMLFileName,false);
    16. xmlhttp.send(null);
    17. xmlDoc = xmlhttp.responseXML;
    18. }
    19. }
    20. else{
    21. alert("load data error");
    22. }
    23. }
    24. catch(e){
    25. alert(e.message);
    26. }

(转)如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)的更多相关文章

  1. JavaScript中的XMLDOM对象

    测试: demo.xml中的内容: js文件内容: window.onload=function(){ //var v=returnXMLDOM(); //v.loadXML('<root> ...

  2. XMLHTTPRequest对象的创建与浏览器的兼容问题

    MLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始. 了解XMLHttpRequest 对象就先从创建XMLHttpRequest ...

  3. AJAX-----07XMLHttpRequest对象的处理返回的JSON类型数据

    要玩json首先就需要知道一般都数据是怎么处理的: <!DOCTYPE html> <html lang="en"> <head> <me ...

  4. AJAX-----06XMLHttpRequest对象的处理返回的XML类型数据

    我们首先要确保XML文件是否正常执行 如果访问时候报类似  Parse error: syntax error, unexpected 'version' (T_STRING  这样的错误,我们则需要 ...

  5. [BS-01] 根据字符串对象的参数自动计算用来显示该字符串的UI控件的宽和高

    根据字符串对象的参数自动计算用来显示该字符串的UI控件的宽和高 1.  影响昵称Label的高和宽的因素: 字体和字号大小.文字多少.高度取决于是否固定了宽度(是否限制了最大的宽度和高度) 2. 使用 ...

  6. JS函数的参数对象arguments在严格模式下的限制

    在JS中,传入的函数的参数个数可以与定义函数的个数不一致,那么对于传入的实参的引用,则是arguments对象.然而改对象在严格模式和非严格模式下是由区分的: 1 在严格模式下arguments作为了 ...

  7. JavaSE(五)JAVA对象向上转型和向下转型

    今天做了一个测试的题目,发现自己还是很多问题没有静下心来做.很多问题是可以自己解决的但是自己一是没有读清题意,二是自己心里太急躁了.所以这个要自己应以为鉴! 对象的转型问题其实并不复杂,我们记住一句话 ...

  8. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...

  9. MVC 5使用ViewData(对象)显示数据

    控制器协调处理好数据之后,是交由视图来显示数据.在控制器与视图交互有一个是ViewData.这次练习,Insus.NET就以它来做实例. 前些时间,Insus.NET实现的练习中,也有从控制器传数据给 ...

随机推荐

  1. 工作流JBPM_day01:7-使用流程变量

    工作流JBPM_day01:7-使用流程变量 工作流就像流水线 对应数据库中的一张表 ProcessVariableTest.Java import java.util.List; import or ...

  2. ssh&scp指定密钥

    scp时指定密钥: scp -P22   -r -i ~/.ssh/dongjing-shanghai.pem root@kiri_pro01:/data/backup/back_from_japan ...

  3. 数组内Merge

    数组al[0...mid-1]和al[mid...num-1]两个部分都已经分别排好序.要求合并使得整个数组al有序.请给出合并merge的代码.要求空间复杂度为O(1). /* 数组a[begin, ...

  4. SYN攻击处理

    针对SYN攻击的几个环节,提出相应的处理方法: 方式1:减少SYN-ACK数据包的重发次数(默认是5次): sysctl -w net.ipv4.tcp_synack_retries=3 sysctl ...

  5. webstorm配置babel自动转译es6的方法

    1.npm安装babel npm install -g babel-cli 2.npm安装Babel的preset npm install --save-dev babel-preset-es2015 ...

  6. img标签-srcset属性

    今天看前辈的代码时,发现img标签有个陌生的srcset属性,如下: 1 <img class="Avatar" src="https://pic3.zhimg.c ...

  7. poj_3283 trie树

    题目大意 将一副牌进行编号,四种花色分别标记为'C'.'D'.'H'.'S',数值标记为'A'.'1'.'2'.'3'.'4'.'5'.'6'.'7'.'8'.'9'.'10'.'J'.'Q'.'K' ...

  8. ubuntu14.04 LTS Visual Studio Code 编辑器推荐

    除了ubuntu geany (茶壶图标) 这个一直爱好的编辑器,发现一个新的编辑器“Visual Studio Code”,也是很好用,记录下 https://code.visualstudio.c ...

  9. JSP自定义标签开发入门《转》

    JSP自定义标签开发入门 一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; ...

  10. Java定时器和Quartz使用

    一.Java普通自定义定时器 /** * 自定义一个定时器 * @author lw */ public class MyTimer extends Thread{ private Long time ...