设置async=false,会同步下载在你执行
var objDoc = new ActiveXObjet("Microsoft.XMLDOM");
objDoc.async = false;
objDoc.load("1.xml");//这个语句后你就可以用dom了

解决方案 »

  1.   

    readyState 
    ===================================  Microsoft XML Core Services (MSXML) 4.0 - DOM Reference  See Also
    open Method | responseBody Property | responseText Property | send Method | status Property | statusText PropertyApplies to: IXMLHTTPRequest
    Language
    C/C++ScriptVisual BasicShow All
    readyState Property (IXMLHTTPRequest)
    Represents the state of the request.Example
    var XmlHttp;
    XmlHttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
    XmlHttp.onreadystatechange = doHttpReadyStateChange;
    XmlHttp.open("GET", "http://localhost/sample.xml", true);
    XmlHttp.send();
    function doHttpReadyStateChange() {
    if (XmlHttp.readyState == 4) {
       alert("Done");
    }
    }
    [Script] 
    Script Syntax
    lValue = oXMLHttpRequest.readyState;
    [Visual Basic] 
    Visual Basic Syntax
    lValue = oXMLHttpRequest.readyState
    [C/C++] 
    C/C++ Syntax
    HRESULT get_readyState(long* plState);
    Parameters
    plState [out, retval] 
    State of the request, as an I4 (4-byte integer). The following values are defined: (0) UNINITIALIZED The object has been created, but not initialized (open has not been called). 
    (1) LOADING The object has been created, but send has not been called. 
    (2) LOADED send has been called and the status and headers are available, but the response is not yet available. 
    (3) INTERACTIVE Some data has been received. You can call responseBody and responseText to get the current partial results. 
    (4) COMPLETED All the data has been received, and the complete data is available in responseBody and responseText. 
    C/C++ Return Values
    S_OK 
    Value returned if successful. Res
    Variant. The property is read-only. It represents the state of the request as an I4 (4-byte integer). The following values are defined.
    0 (UNINITIALIZED) The object has been created, but not initialized (open method has not been called). 
    (1) LOADING The object has been created, but the send method has not been called. 
    (2) LOADED The send method has been called and the status and headers are available, but the response is not yet available. 
    (3) INTERACTIVE Some data has been received. You can call responseBody and responseText to get the current partial results. 
    (4) COMPLETED All the data has been received, and the complete data is available in responseBody and responseText. 
    This property returns a 4-byte integer.To view reference information for Visual Basic, C/C++, or Script only, click the Language Filter button  in the upper-left corner of the page.See Also
    open Method | responseBody Property | responseText Property | send Method | status Property | statusText PropertyApplies to: IXMLHTTPRequest
      

  2.   

    如果你是用SRC=1.xml的形式,可以加上一个onload=""标签
      

  3.   

    var xmldoc=new ActiveXObject("Microsoft.XMLDOM")
    xmldoc.onreadystatechange=check
    xmldoc.async=true
    xmldoc.load("test.xml")
    function check(){
    if(xmldoc.readyState==4){
    if(xmldoc.xml!="")alert('下载完且可工作')
    else alert('XML文件为空')
    }
    }
      

  4.   

    <script>
    var xmldoc;
    function Load()
    {
    xmldoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
    xmldoc.onreadystatechange = CheckState;
    xmldoc.load(URL.value);
    }
    function CheckState()
    {
      var state = xmldoc.readyState;
      RESULTS.innerHTML += "readyState = " + state + "<BR>"
      if (state == 4)
      {
        var err = xmldoc.parseError;
        if (err.errorCode != 0)
          RESULTS.innerHTML += err.reason + "<BR>"
        else RESULTS.innerHTML +="success" + "<BR>"
      }
    }
    <script>
    URL: <input type=text size=60 id=URL>
    <input type=button value=LOAD onclick="jscript:Load()">
    <div id=RESULTS style= "color:red;font-weight:bold;"></div>