首页 > 开发 > JS > 正文

用ajax实现的自动投票的代码

2024-09-06 12:42:59
字体:
来源:转载
供稿:网友
一朋友委托我帮他投票,地址在:
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>


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表