2013-03-06 99 views
-3

我正在寻找一个JavaScript,当服务器时间到达零(每小时)时刷新页面。当服务器时间到零时刷新页面的Javascript

+0

它需要多准确? – SteveP 2013-03-06 09:01:56

+0

不是那么准确,只要一小时后刷新(几秒钟左右无关紧要)就足够了。 – Disgeae 2013-03-06 09:03:22

+0

你需要一个ajax请求来检查服务器中的时间,但考虑到ajax是异步的。 – m4t1t0 2013-03-06 09:04:14

回答

0

类似的东西应该工作:

$diff = mktime(date("H") + 1, 0, 0, date("m"), date("d"), date("Y")) - time(); 
echo('<meta http-equiv="refresh" content="' . $diff . '" />'); 

但是要记住,你的业务从您的视图逻辑;-)

分离(也可以省略“日期(” M“),日期(“d”),日期(“Y”)“,这是为了帮助理解代码而添加的)

如果要使用Javascript,只需使用setTimeout和一秒钟间隔即可计算Value from $ diff降至0;

0

如果页面只需要一个小时后刷新,服务器可以在页眉设置meta标签当页面先得:

<meta http-equiv="refresh" content="3600"> 

,其中3600是在几秒钟内一个小时。如果你想在一小时内使用它,而不是在一小时之后,服务器可以将秒数设置为直到下一小时的秒数(例如,如果服务器时间是10:30,则它将其设置为1800 。

+0

我知道,但它需要是时钟命中零,这是一个JavaScript文件中的JavaScript。 – Disgeae 2013-03-06 09:08:30

0

有我所知两种可能的方式。

  1. 如果你知道服务器的时区(它是固定的),有时间的时区的JS,并设置倒计时最接近的小时(有是libraries
  2. 第二个选择是你在你的php代码的页眉中设置一个元标记到服务器的当前时间,然后用它来倒计时

选项1会更准确,因为您会得到与时区相关的当前时间而不是第二选项,因为服务器添加元时会有延迟,您的js何时读取它。

但是,如果您的服务器位置可能更改,选项2更有利。