我有一种情况,我希望服务器时间显示在网页上。目前我保持简单,只做这个
<?php
$CTIME=date ("g:i a");
?>
这很好——除了我更喜欢它自己更新而不需要刷新页面。我在想,也许有一种方法可以用php脚本中的时间设置javascript时间函数,但我不知道如何才能做到这一点。
也许我想错了。。。也许还有另一个我没有想到的解决方案,有什么想法吗??
这里有一个用于显示时钟的jQuery插件:
http://plugins.jquery.com/project/jqClock
只需使用服务器返回的时间对其进行初始化。它会在客户端每秒自动更新一次。
试试这个:
<javascript>
var ctime = '<?php echo date ("g:i a"); ?>';
</javascript>
然后让计时器增加javascript端的值。它不是很精确,但如果我看对了,你只需要几分钟,而不是几秒钟,所以精度可能不是问题。
使用您的基本时间来计算当前的飞行时间(不使用任何额外的、可能缓慢/昂贵的请求;它甚至不需要jQuery):
var getServerTime = (function () {
var baseTime = <?php echo time() * 1000; /* convert to milliseconds */ ?>,
startTime = new Date().getTime();
return function () {
return baseTime + (new Date().getTime() - startTime);
};
}());
此函数返回基于服务器端时间的当前时间(以毫秒为单位)。您可以定期更新您的网站,并使用此功能来确定当前服务器端时间,如下所示:
// update the site every minute
setInterval(function () {
var currentServerTime = getServerTime();
// update everything (format date or something)
}, 60 * 1000);
我相信你可以很容易地在互联网上找到一些javascript代码,它可以显示你网站上的运行时钟。在页面加载时,让PHP为这个javascript片段设置初始启动时间,我相信你可以开始了。