Javascript 显示带有服务器端自动时间注销的同步倒计时计时器?
下面是一个PHP会话计时器,使用AJAX调用检查“时间” 我希望能够为用户显示某种简单的javascript倒计时显示,例如:Javascript 显示带有服务器端自动时间注销的同步倒计时计时器?,javascript,php,ajax,session,timer,Javascript,Php,Ajax,Session,Timer,下面是一个PHP会话计时器,使用AJAX调用检查“时间” 我希望能够为用户显示某种简单的javascript倒计时显示,例如: function startTimer(duration, display) { var timer = duration, minutes, seconds; setInterval(function () { minutes = parseInt(timer / 60, 10); seconds = parseInt(
function startTimer(duration, display) {
var timer = duration, minutes, seconds;
setInterval(function () {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = minutes + ":" + seconds;
if (--timer < 0) {
timer = duration;
}
}, 1000);
}
window.onload = function () {
var length = 60 * 5,
display = document.querySelector('#time');
startTimer(length, display);
};
但是var length等于$_SESSION['timeOut']=SomeNumber时指定的值;在php文件中
如何将这些设置为完全同步,并将倒计时输出到屏幕?或者我可以利用php计时,而不必创建js计时器吗?您可以使用php函数time以秒为单位计算现在的时间,然后将其保存为登录数据库的时间。每次用户刷新页面时,您都必须向他发送$u会话['timeOut']+$time\u of_login-time wich返回到达超时的秒数 $time\u of_从数据库登录 因此,php文件将如下所示:
var length = <? echo $_SESSION['timeOut'] + ($time_of_login) - time(); ?>
如果你想看到页面本身的倒计时,那么你必须使用JavaScript;除非您不断地重新加载页面,否则PHP无法实现这一点,这是毫无意义的。但是,1000毫秒的超时值并不可靠,特别是在较长的时间段内——最好使用JavaScript日期对象来获取实际的当前客户端时间,并计算与此的差异。