我目前在一个网站上工作,需要打开时,计时器倒计时到一个特定的日期运行。带有重定向的JavaScript是不可能的,因为JS倾向于客户端,这将允许用户简单地将他们计算机的时钟更改为适当的日期来解锁网站。
我想我应该以某种方式使用服务器的内部日期和时间,但我需要计时器实时更新,网站只在那个日期解锁。使用PHP (如果有必要的话,还可以使用AJAX)使其尽可能动态化,这将是首选的策略。
你们会建议我怎么做呢?
发布于 2011-07-07 00:44:26
怎么样
$openingtime = 1310402546;
if($_SERVER["REQUEST_TIME"] < $openingtime){
echo "not open yet";
exit;
}只需使用http://www.epochconverter.com/或其他工具转换为时间戳即可。
编辑:
从http://keith-wood.name/countdown.html获取所需文件
在主页之类的地方,到处都包含着(但是 countdown.php,否则你会做无穷无尽的循环),放如下:
$openingtime = 1310402546;
if($_SERVER["REQUEST_TIME"] < $openingtime){
header("location:countdown.php");
exit;
} countdown.php head:
<style type="text/css">@import "jquery.countdown.css";</style>
<script type="text/javascript" src="jquery.countdown.min.js"></script>正文:
<div id="countdown"></div>
<script type="text/javascript">
var timeleft=<?php echo ($openingtime - $_SERVER["REQUEST_TIME"]); ?>;
$('#countdown').countdown({until: +timeleft});</script>除非我在复制粘贴上犯了错误,否则它是有效的
发布于 2011-07-07 00:35:29
重定向的
JavaScript是不可能的,因为JS倾向于客户端,这将允许用户简单地将他们计算机的时钟更改为适当的日期来解锁网站。
您仍然可以使用JavaScript,如果在解锁日期之前访问该站点,则会在站点上显示服务器端错误。
发布于 2011-07-07 00:43:46
我会有一个php GET方法来获取server's time。然后,使用AJAX,每隔一分钟左右使用setInterval向php方法发出一个GET请求。一旦时间/日期与你想要的时间/日期匹配,然后用javascript打开它。
有相当多的Javascript时钟脚本:
http://www.ricocheting.com/code/javascript/html-generator/digital-clock
http://rainbow.arch.scriptmania.com/scripts/digitalclock.html
https://stackoverflow.com/questions/6599890
复制相似问题