typeerror:object #<a Document> has no method 'load'谷歌浏览器下提示这个错误。if (document.implementation && document.implementation.createDocument) { //在非IE浏览器环境下                     xmlDoc = document.implementation.createDocument("", "", null);
        try {
            xmlDoc.load(XMLPath);
        } catch (e) {alert(e); }//typeerror:object #<a Document> has no method 'load'
        xmlDoc.async = false;
}在FF下可以正常。  谷歌下怎么处理呀????

解决方案 »

  1.   

    <html>
    <body>
    <script type="text/javascript">
    if (window.XMLHttpRequest)
      {
      xhttp=new XMLHttpRequest();
      }
    else // for older IE 5/6
      {
      xhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xhttp.open("GET","books.xml",false);
    xhttp.send("");
    xmlDoc=xhttp.responseXML;document.write(xmlDoc.documentElement.nodeName + " loaded");
    </script>
    </body>
    </html>
    这个中方式不行。我要实现的是3级地区联动。地区都存在一个xml里的。
      

  2.   

    又是标题党。
    你顶楼的方法在CHROME下不受支持但是1楼的方法可以 用的
    你说不行是什么意思啊
      

  3.   

    1楼的方法是可以读取xml,但是我要解析用这个xml,代码如下。
    try {
                xmlDoc.load(XMLPath);
            } catch (e) {alert(e); }
            xmlDoc.async = false;                xmlDoc.onload = function () {
                xmlNodes = xmlDoc.getElementsByTagName("province");            for (var i = 0; i < xmlNodes.length; i++) {
                    var provinceNode = xmlNodes[i].getAttribute("name");
                    var pOption = document.createElement("option");
                    pOption.innerHTML = provinceNode;
                    pOption.setAttribute("value", provinceNode);
                    provinceDropDownList.appendChild(pOption);
                }
      

  4.   

    又调测了一下,下边代码谷歌下可以,但是火狐下就不行了。真郁闷。
    var xmlNodes;
        //判断浏览器类型    if (window.XMLHttpRequest) {
            xhttp = new XMLHttpRequest();
        }
        else // for older IE 5/6
        {
            xhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhttp.open("GET", XMLPath, false);
        xhttp.send("");
        xmlDoc = xhttp.responseXML;    //nodeType clientLeft offsetParent parentElement offsetWidth localName ownerDocument nodeValue 
        //lastElementChild offsetLeft previousSibling tagName namespaceURI childElementCount scrollLeft 
        //lastChild clientHeight textContent nextSibling scrollWidth offsetHeight clientWidth nodeName style 
        //scrollTop baseURI offsetTop nextElementSibling firstChild attributes parentNode clientTop childNodes prefix 
        //previousElementSibling firstElementChild scrollHeight getAttribute setAttribute removeAttribute getAttributeNode 
        //getElementsByTagName getAttributeNS setAttributeNS removeAttributeNS getElementsByTagNameNS getAttributeNodeNS 
        //hasAttribute hasAttributeNS focus blur scrollIntoView scrollIntoViewIfNeeded scrollByLines scrollByPages 
        //getElementsByClassName querySelector querySelectorAll webkitMatchesSelector getClientRects getBoundingClientRect 
        //setAttributeNode removeAttributeNode setAttributeNodeNS contains insertBefore replaceChild removeChild appendChild 
        //hasChildNodes cloneNode normalize isSupported hasAttributes lookupPrefix isDefaultNamespace lookupNamespaceURI addEventListener 
        //removeEventListener isSameNode isEqualNode compareDocumentPosition dispatchEvent ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE 
        //CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE 
        //DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE DOCUMENT_POSITION_DISCONNECTED DOCUMENT_POSITION_PRECEDING 
        //DOCUMENT_POSITION_FOLLOWING DOCUMENT_POSITION_CONTAINS DOCUMENT_POSITION_CONTAINED_BY DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC    //此种方法谷歌下可以,但是火狐下就又不行了。
        xmlNodes = xmlDoc.documentElement.childNodes
        var obj = xmlNodes[1];
        for (var i = 1; i <= xmlNodes.length; i++) {
            
            //alert(xmlNodes[1].nextElementSibling.tagName);
            var provinceNode = obj.getAttribute("name");
            
            var pOption = document.createElement("option");
            pOption.value = provinceNode;
            pOption.text = provinceNode;
            provinceDropDownList.add(pOption);        obj = obj.nextElementSibling;
        }