0

假设我有这个代码

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

是否适合使用 javascript 来自动执行重定向过程而无需刷新页面?如果是这样,怎么办?

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

4

3 回答 3

2

首先计算它应该重定向多少秒。然后在以下方法中使用秒。

对于您的情况,strtotime 可能会起作用。

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

有几种重定向方法,

  1. Refresh从 PHP发送标头。

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

    window.setTimeout(function(){
        location.href="desired url";
    }, seconds*1000);
    
于 2013-01-08T05:18:54.890 回答
0

为什么要用javascript,什么时候可以用php来做,试试这个方法

if($itemDisplayTime==$currentTime)
header( "refresh:0;url=yourpage.php" );
于 2013-01-08T05:18:28.483 回答
0

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

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

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

如果这是出于其他目的,您将不得不使用 ajax;因为如果您使用 getItemTime 我认为它只会在页面首次加载时获取一次,您需要每隔几分钟继续调用一次以重新执行 java 函数并重新检查时间,但这会涉及很多更复杂的解决方案。如果您想尝试这种方式,请更彻底地解释您正在尝试执行的任务,以便我可以制作特定的代码。

于 2013-01-08T05:23:35.600 回答