function openUrl(url){ 
 var objxml=new ActiveXObject("Microsoft.XMLHttp");
 var url;
 //for(var i=0;i<10;i++)
// {
 var str=rnd_str(11,true,false,true);
    
 url="http://xxxxxxx="+str;
 objxml.open("GET",url,false); 
 objxml.send(); 
 retInfo=objxml.responseText; 
 if (objxml.status=="200"){ 
   document.write(str+"<br>");
   document.write(retInfo+"<br>");
   setTimeout("openUrl();",1000);//如果没有此句就无错误,加上此句就提示缺少对象。
   }
 else{ 
  alert("程序中断");
 } 
 //}

总是提示我缺少对象,请问问题在哪儿?

解决方案 »

  1.   


    请您列举下具体问题在哪儿呢?setTimeout(openUrl,1000);如果改成这样的话,程序只执行一次,结果能出来。
    但是我想让它一直执行下去。
      

  2.   

    setInterval(openUrl,1000)
    这样可以第隔1秒执行一次
      

  3.   

    setTimeout(function() { openUrl(url); }, 1000);
      

  4.   

    //try
    setTimeout("openUrl();",1000);
    //change
    setTimeout('openUrl()',1000);
      

  5.   

    if (objxml.status=="200"){ 
       document.write(str+"<br>");
       document.write(retInfo+"<br>");
       setTimeout("openUrl();",1000);//如果没有此句就无错误,加上此句就提示缺少对象。
       }在函数内部使用document.write,将覆盖当前页面的所有内容,当然包括你的openUrl函数,这样就出错了,当前页面不在存在openUrl函数,所以出错改为document.body.appendChild来添加生成的内容,而不是document.write
      

  6.   

    楼上正解
    或者用innerHTML
    你用document.write()
    页面的结构就改变了