用ajax實現的自動投票的代碼_javascript技巧

來源:互聯網
上載者:User
一朋友委託我幫他投票,地址在:
http://publish.sina.com.cn/04/13/413/search.php
投票的連結是:
http://publish.sina.com.cn/poll.php?p_id=413&t_id=119
我於是做了下面一段代碼,做成工作管理員,每隔1分鐘開啟一次,再自動關閉視窗,但實際運行下來,卻無效果,不知問題出在哪裡?
複製代碼 代碼如下:

<html>
<script language="javascript" >
var CheckFreq=1;//隊列檢查頻率,預設1秒檢查一次
var bRun=false;//防止同一時間同時運行2個程式
function RunUrl(strUrl,strFreq)
{
  this.url=strUrl;//啟動並執行URL
  this.freq=strFreq;//運行頻率
  this.lastrun='';//上次已耗用時間
}
var RunQueue = new Array();
function AddRun(strUrl,strFreq)//添加Run
{
  if(strUrl==''||strFreq=='')return
  RunQueue[RunQueue.length]=new RunUrl(strUrl,strFreq)
}
function Run(url)//運行url
{
  var xmlHttp;
  if (window.XMLHttpRequest)xmlHttp = new XMLHttpRequest();
  else if (window.ActiveXObject)xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlHttp.onreadystatechange = function(){bRun=false;}
  xmlHttp.open("GET", url, true);
  xmlHttp.send(null);
  bRun=true;
}
function CheckRun()//檢查隊列
{
  var dtNow=new Date(),objRun;
  var tNow=dtNow.getTime();
  for(var i=0;i<RunQueue.length;i++)
  {
    objRun=RunQueue[i];
    if(objRun.lastrun=='')objRun.lastrun=tNow;
    if(!bRun&&(objRun.freq==0||(tNow-objRun.lastrun)>objRun.freq*1000))
    {
      objRun.lastrun=tNow;
      Run(objRun.url);
    }
  }
}
AddRun('http://publish.sina.com.cn/poll.php?p_id=413&t_id=119',10);
setInterval('CheckRun()',CheckFreq*1000);//setInterval
</script>

<script language="javascript" >
<!--
function clock(){
    i=i-1
   document.title="After "+i+" minitues,this window will closed self!";
   if(i>0)setTimeout("clock();",20000);
   else {window.opener=null;self.close();}
}
var i=2
clock();
--> 
</script></html>

<html> <script language="javascript" > //By Ayi 2007-2-10 var CheckFreq=1;//隊列檢查頻率,預設1秒檢查一次 var bRun=false;//防止同一時間同時運行2個程式 function RunUrl(strUrl,strFreq) { this.url=strUrl;//啟動並執行URL this.freq=strFreq;//運行頻率 this.lastrun='';//上次已耗用時間 } var RunQueue = new Array(); function AddRun(strUrl,strFreq)//添加Run { if(strUrl==''||strFreq=='')return RunQueue[RunQueue.length]=new RunUrl(strUrl,strFreq) } function Run(url)//運行url { var xmlHttp; if (window.XMLHttpRequest)xmlHttp = new XMLHttpRequest(); else if (window.ActiveXObject)xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlHttp.onreadystatechange = function(){bRun=false;} xmlHttp.open("GET", url, true); xmlHttp.send(null); bRun=true; } function CheckRun()//檢查隊列 { var dtNow=new Date(),objRun; var tNow=dtNow.getTime(); for(var i=0;i<RunQueue.length;i++) { objRun=RunQueue[i]; if(objRun.lastrun=='')objRun.lastrun=tNow; if(!bRun&&(objRun.freq==0||(tNow-objRun.lastrun)>objRun.freq*1000)) { objRun.lastrun=tNow; Run(objRun.url); } } } AddRun('http://publish.sina.com.cn/poll.php?p_id=413&t_id=119',10); setInterval('CheckRun()',CheckFreq*1000);//setInterval </script> <script language="javascript" > <!-- function clock(){ i=i-1 document.title="After "+i+" minitues,this window will closed self!"; if(i>0)setTimeout("clock();",20000); else {window.opener=null;self.close();} } var i=2 clock(); --> </script></html>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.