我从 Dennis 的一篇文章中得到了以下脚本此网址
这正是我要找的,但我需要能够每隔 20 或 30 秒打开每个 url。
<script>
function openWindow(){
var x = document.getElementById('a').value.split('\n');
for (var i = 0; i < x.length; i++)
if (x[i].indexOf('.') > 0)
if (x[i].indexOf('://') < 0)
window.open('http://'+x[i]);
else
window.open(x[i]);
}
</script>
有人可以帮忙吗?
答案1
为了避免冻结整个浏览器(使用延迟功能),您可以使用setTimeOut
间隔 20000 毫秒执行的功能。
所有这些操作setTimeout
都是接连执行的。每个 atTime 毫秒都会安排一个函数。每次循环 atTime 参数都会增加 20000(20 秒)。之后,您的页面将保持休眠状态,并在指定的时间执行 setTimeout 函数。
注意setTimeout("window.open('" + site + "')", atTime);
。我们无法这样做,setTimeout(window.open(site), atTime);
因为 setTimeout 之间的函数是在执行时评估的,并且变量site
将具有循环的最后一个值。所以我们setTimeout("window.open('xxx')", atTime);
在循环中执行 where xxx 更改。这样,变量就会在执行命令中设置。(希望我说得足够清楚)
脚本如下:
<script>
function openWindow(){
var x = document.getElementById('a').value.split('\n');
atTime = 0;
for (var i = 0; i < x.length; i++) {
if (x[i].indexOf('.') > 0) {
site = x[i];
if (x[i].indexOf('://') < 0) { site = 'http://' + x[i]; }
setTimeout("window.open('" + site + "')", atTime);
atTime += 20000;
}
}
}
</script>