当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用ajax实现的自动投票的代码

Javascript
表格 隔行换色升级版
JavaScript 变量基础知识
fileupload控件 文件类型客户端验证实现代码
extjs DataReader、JsonReader、XmlReader的构造方法
让Firefox支持event对象实现代码
CSS+Js遮罩效果的TAB及焦点图片切换(推荐)
javascript showModalDialog传值与FireFox的window.open 父子窗口传值示例
JQuery 图片延迟加载并等比缩放插件
Jquery作者John Resig自己封装的javascript 常用函数
js 鼠标拖动对象 可让任何div实现拖动效果
页面中js执行顺序
Javascript select下拉框操作常用方法
jQuery 常见学习网站与参考书
javascript currying返回函数的函数
prototype 中文参数乱码解决方案
为javascript添加String.Format方法
asp.net HttpHandler实现图片防盗链
Riot.js 快速的JavaScript单元测试框架
Javascript实现的CSS代码高亮显示
Js 实现表格隔行换色一例

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 181 ::
收藏到网摘: n/a

一朋友委托我帮他投票,地址在:
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 全选 提示:你可先修改部分代码,再按运行]