您好,我有一组网址,我想将它们一个一个地加载到同一个浏览器窗口中。现在我可以使用
在浏览器窗口中加载单个 urlwindow.location = url;
但是当我把这个 window.location 放在一个函数中并在循环中无限地调用该函数并有一些延迟时,页面只会继续加载并且不会显示任何内容。代码如下:
<html>
<head>
<script>
var urls = ["http://www.howstuffworks.com", "http://example.com"];
var i = 0;
function redirect_url(url)
{
window.location = url;
}
while (true)
{
setTimeout(function() { redirect_url(urls[i]); }, 5000);
// update the index
i = (i + 1) % urls.length;
}
</script>
</head>
我想要的是当我在浏览器中打开这个脚本文件时,第一个 url 的网页应该被加载,5 秒后第二个 url 的网页应该被加载,这应该无限继续。
最佳答案
这是一个没有 While 循环的方法;似乎对我来说效果很好:http://jsfiddle.net/77617znz/2/
var urls = ["http://www.howstuffworks.com", "http://example.com"];
var i = 0;
function redirect_url()
{
if( i <= urls.length )
{
setTimeout(function(){
$('iframe').attr('src', urls[i]);
i++;
redirect_url();
}, 3000);
}
}
redirect_url();
希望对您有所帮助!如果您有任何问题,请告诉我。
关于javascript - 在一定的延迟后一个一个地加载不同的网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30784649/