XMLDOM 的async属性

定义和用法

async 属性可规定 XML 文件的下载是否应当被同步处理。

True 意味着 load() 方法可在下载完成之前向调用程序返回控制权。

False 意味着在调用程序取回控制权之前必须完成下载。

语法:

documentObject.async

实例

在所有的例子中,我们将使用 XML 文件 books.xml ,以及 JavaScript 函数 loadXMLDoc()

function loadXMLDoc(dname) 
{
var xmlDoc;
// code for IE
if (window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Your browser cannot handle this script');
}

xmlDoc.async=false;
xmlDoc.load(dname);
return(xmlDoc);
}

异步的好处是可以立即返回,继续做其他的事  
   
等装载完成后,再处理他  
   
如  
  function   loadIt()  
  {  
  var   xmlDoc   =   new   ActiveXOject("Microsoft,xmlDOC");  
  xmlDoc.async   =   true;  
  xmlDoc.onreadystatechange   =   handleIt();  
  xmlDoc.load(url);  
  return   xmlDoc;  
  }  
  function   handleIt()  
  {  
  if(xmlID.XMLDocument.readyState   ==   4)  
    alert("load   xml   complete");  
  }

<script>  
  var   oDiv //添加用的节点  
  var   nP //DIV的   padding-left  
  var   xh //xmlhttp  
  function   getXML()  
  {  
  oDiv   =   document.all.m  
  oDiv.innerHTML   =   "正在装载栏目数据,请稍侯......."  
  oDiv.style.display=   ""  
  xh   =   new   ActiveXObject("Microsoft.XMLHTTP")  
  xh.onreadystatechange   =   getReady  
  xh.open("GET",a.value,true)  
  xh.send()  
  }  
   
  function   getReady()  
  {  
  if(xh.readyState==4)  
  {  
  if(xh.status==200)  
  {  
   
  oDiv.innerHTML   =   "完成"  
  }  
  else  
  {  
  oDiv.innerHTML   =   "抱歉,装载数据失败。原因:"   +   xh.statusText  
  }  
  }  
  }  
  </script>  
  xmlhttp异步的例子:  
  URL:<input   name=a   value="http://www.microsoft.com">  
  <input   onclick="getXML()"   type="button"   value="get   HTML">  
  <input   onclick="if(xh   &&   xh.responseText)   oDiv.innerHTML=xh.responseText"   type="button"   value="output">  
  <div   id=m></div>

posted @ 2009-11-28 23:01  dzqabc  阅读(305)  评论(0编辑  收藏  举报