当前位置: 代码迷 >> 综合 >> Firefox(火狐浏览器) 中使用AJAX(详细说明)
  详细解决方案

Firefox(火狐浏览器) 中使用AJAX(详细说明)

热度:90   发布时间:2024-01-21 23:31:21.0

 

 

Firefox(火狐浏览器) 中使用AJAX 需要注意以下地方

 

1. XMLHttpRequest

 

    function CreateXMLHTTP()
    {
        var xmlHttpRequest;
        if (window.XMLHttpRequest) //For general cases.
        {
            //alert("0");
            xmlHttpRequest = new XMLHttpRequest();
        }
        else //For IE.
        {
            if (window.ActiveXObject)
            {
                //alert("1");
                xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        return xmlHttpRequest;
    }

 

 

2.xmlhttp.responseXML

Firefox(火狐浏览器)  中不支持 responseXML 小写。

 

 

3.xmlhttp.responseXML & XMLDoc

 

火狐中 xmlhttp.responseXML 返回类型为 xmldocument  。IE中返回的object类型。所以 火狐中直接解析 xmlhttp.responseXML 就可以。不用象IE中 xmlDoc.load(data);

 

 

4. XMLDoc(可选)

function CreateXMLDoc()
{
 var xmlDoc;
 //判断是否为Firefox或IE
 var moz = (typeof document.implementation != 'undefined')   && (typeof document.implementation.createDocument != 'undefined');
 var ie = (typeof window.ActiveXObject != 'undefined');
 if (moz)
 {
 
         xmlDoc = document.implementation.createDocument("", "doc", null);//创建FIREFOX下XML文档对象
  
 }
 else if (ie)
 {
  xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
  xmlDoc.async = true;
  xmlDoc.resolveExternals = true;
  while( xmlDoc.readyState != 4) {};//创建IE下XML文档对象
 }
 return xmlDoc;
}

 

 

5. 解析DOM

 

IE 中可以用 child.childNodes[1].text  而火狐中必须用 child.childNodes[1].firstChild.nodeValue

 

 

 

以上几点注意到基本上AJAX在IE中和火狐中就都可以运行了

 

 

  相关解决方案