如何根据给定时间自动重定向页面?我应该使用javascript吗?怎么样?

时间:2013-01-08 05:14:09

标签: php javascript jquery

让我说我有这个代码

$itemtoDisplayTime = $model->getItemTime()  // e.g 03:00pm
$currentTime = date('H:i'); //this is the system clock/time

使用javascript自动完成重定向过程而不必刷新页面是否合适? 如果是这样,怎么样?

让我们说$ itemDisplayTime现在等于$ currentTime,如果可能的话,如何在javascript或jquery中使用这些变量

3 个答案:

答案 0 :(得分:2)

首先计算应重定向的秒数。然后使用以下方法中的秒。

对于你的情况,strtotime可能有用。

$seconds = strtotime($itemtoDisplayTime) - time();

有几种方法可以重定向,

  1. 从PHP发送Refresh标题。

    header("Refresh: $seconds; url=$url");
    
  2. 使用Javascript

    window.setTimeout(function(){
        location.href="desired url";
    }, seconds*1000);
    

答案 1 :(得分:0)

为什么要使用javascript,当你可以使用php来做到这一点,试试这种方式

if($itemDisplayTime==$currentTime)
header( "refresh:0;url=yourpage.php" );

答案 2 :(得分:0)

根据您的目标,我会说有两种可能的解决方案。

如果要刷新页面来执行数据库任务,我建议如果您的主机支持cron-jobs。因为那时你可以关闭你的计算机并且任务自己在服务器端运行,其中一个例子就是:(在主机网站上选择时间)

php -q /home/path_to_file/your_link.php >/dev/null 2>&1 

如果这是出于其他目的而你必须使用ajax;因为如果你使用getItemTime我认为它只会在页面首次加载时得到它一次,你需要每隔几分钟继续调用以重新执行java函数并重新检查时间但是这会进入很多更复杂的解决方案。如果你想尝试这种方式,请更详细地解释你想要做的任务,我可以制作具体的代码。