如果这篇文章都能进入排行榜,那排行榜的存在真是毫无意义。
- <script type="text/javascript">
- var s=new Array("http://blog.csdn.net/cyberzhg/article/details/8578822");
- var i=0;
- function r(){
- var x=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
- x.onreadystatechange=function(){
- if(x.readyState == 4){r();}}
- if(++i>=s.length){i=0;}
- x.open("GET",s[i]+"?r="+Math.random());
- x.send();}
- r();
- </script>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset = "UTF-8">
- <title>自动刷新测试</title>
- <script>
- function setCookie(name, value) {
- var date = new Date();
- date.setMonth(date.getMonth() + 1);
- document.cookie = name + "=" + escape(value) + ";expires=" + date.toGMTString() + ";path=/;";
- }
- function getCookie(name) {
- var cookies = document.cookie.split("; ");
- for(var i = 0; i < cookies.length; ++ i) {
- var values = cookies[i].split("=");
- if(values[0] == name) {
- return unescape(values[1]);
- }
- }
- return "";
- }
- var srcList; // 要打开的页面的数组
- var srcIndex = 0; // 当前要打开的页面在数组中的索引
- var curLoopNum = 1; // 当前循环次数
- var loopNum = 1; // 总循环次数
- var curCount = 0; // 当前打开页面次数
- var totalCount = 0; // 总打开页面次数
- var running = false; // 是否正在运行
- var lastDate = new Date(); // 循环开始的时间
- var timeCount = 0; // 脚本运行时间
- function refreshPage() {
- var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
- xmlhttp.onreadystatechange = function() {
- if(xmlhttp.readyState == 4) {
- if(StatisticButton.checked) {
- ++ curCount;
- ++ totalCount;
- }
- if(ShowButton.checked) {
- StatusDiv.innerHTML = "刷新总数:[" + curCount + "/" + totalCount + "]<br/>";
- StatusDiv.innerHTML += "循环中位置:[" + (srcIndex + 1) + "/" + srcList.length +"]<br/>";
- StatusDiv.innerHTML += "循环次数:[" + curLoopNum + "/" + loopNum + "]<br/>";
- StatusDiv.innerHTML += "页面链接:<a href = " + srcList[srcIndex] + ">" + srcList[srcIndex] + "</a><br/>";
- }
- if(SaveButton.checked) {
- setCookie("count", totalCount);
- }
- if(running) {
- refreshPage();
- }
- }
- }
- if (++ srcIndex >= srcList.length) {
- if(StatisticButton.checked) {
- var timeLeap = ((new Date()).getTime() - lastDate.getTime());
- timeCount += timeLeap;
- lastDate = new Date();
- ++ loopNum;
- ++ curLoopNum;
- }
- if(ShowButton.checked) {
- SpeedDiv.innerHTML = "循环耗时:" + timeLeap + "毫秒<br/>";
- SpeedDiv.innerHTML += "运行时间:" + (timeCount / 1000) + "秒<br/>";
- }
- if(SaveButton.checked) {
- setCookie("loop", loopNum);
- }
- srcIndex = 0;
- }
- xmlhttp.open("GET", srcList[srcIndex] + "?random1=".concat(Math.floor(Math.random()*100000)) + "&random2=".concat(Math.floor(Math.random()*100000)));
- xmlhttp.send();
- }
- function changeState() {
- if(running) {
- StateButton.value = "开始刷新";
- RefreshPages.readOnly = false;
- } else {
- srcList = RefreshPages.value.split("\n");
- RefreshPages.readOnly = true;
- refreshPage();
- StateButton.value = "停止刷新";
- }
- running = !running;
- }
- function clearState() {
- if(confirm("确定要清空记录的数据?")) {
- srcIndex = 0;
- loopNum = 1;
- totalCount = 0;
- }
- }
- totalCount = getCookie("count") ? getCookie("count") : 1;
- loopNum = getCookie("loop");
- </script>
- </head>
- <body>
- <input id = "StateButton" type = "button" onclick = "changeState()" value = "开始刷新"></input>
- <input id = "ClearButton" type = "button" onclick = "clearState()" value = "清空数据"></input>
- <br/>
- <input id = "StatisticButton" type = "checkbox" checked = "true">统计数据</input>
- <input id = "ShowButton" type = "checkbox" checked = "true">显示数据</input>
- <input id = "SaveButton" type = "checkbox" checked = "true">记录数据</input>
- <hr/>
- <textarea id = "RefreshPages" style = "width: 800px; height: 300px">http://blog.csdn.net/cyberzhg/article/details/8578822</textarea>
- <hr/>
- <div id = "StatusDiv"></div>
- <div id = "SpeedDiv"></div>
- </body>
- </html>