-1

我想在 4 分钟后刷新页面或将页面重定向到新的 url 每次刷新或重定向
示例这样的事情

$i=1
while($i = 100){
 //** Now URL redirect here 
$url="u_pc_change.php?id=$i";
echo '<meta http-equiv="refresh" content="2;url='.$url.'">';
$i++;
 }

一些代码在这里等待 4 分钟并将页面重定向或刷新到新的 url,比如

u_pc_change.php?id=1
u_pc_change.php?id=2
u_pc_change.php?id=3

上面的代码将不起作用,因为它执行快速循环,并且什么都不会等待 4 分钟......我需要一种方法来等待 4 分钟,然后再进行第二次循环......以进行刷新或重定向。

4

3 回答 3

0

您可以使用以下代码将您的页面重定向到随机 url

<script type="text/javascript">

var urls = new Array("http://www.firstURL.com/", "http://www.SecondURL.com/");

function redirect(){
    window.location = urls[Math.floor(urls.length*Math.random())];
}

setInterval("redirect()", 4000);

</script>
于 2012-12-30T13:21:38.260 回答
0

如果你想等待 4 分钟,你可以像这样使用 JS:

<script>setTimeout(function() { document.location='your_desired_location';},1000 * 60 * 4);</script>

如果我对您的理解正确,您希望每 4 分钟显示一次不同的内容,无论用户是刷新页面、离开并返回,还是仅在页面上停留 4 分钟。

您可以节省用户刷新时间并下次检查。

session_start();
if( !isset($_SESSION['lastRefresh']) ) $_SESSION['lastRefresh'] = time(); //User is here for first time
else {        
    if( time() - $_SESSION['lastRefresh']  > 60 * 4 )//Show something else
    {
      $_SESSION['lastRefresh'] = time();//This is in if, so "timer" won't reset if user refresh before 4 minutes.
    }
}
于 2012-12-30T13:32:41.253 回答
0

当然,您可以按照其他人的建议在 JS 中刷新页面,也可以使用您在示例中使用的元刷新。但是,使用任何类型的超时(或间隔)都没有意义,因为您想刷新整个页面。

我会在后端处理整个逻辑,一次只担心一次刷新。如果您想按顺序刷新页面,只需创建一个 URL 数组并始终从您所在的页面中选择下一个 URL。如果您想要随机页面加载,只需为每页选择一个随机数组索引。

同样,不需要任何循环或间隔。他们在任何一端都不会活到足够长的时间来发挥作用。

于 2012-12-30T14:05:31.313 回答