【发布时间】:2019-09-24 07:46:00
【问题描述】:
我目前正在 web 视图上构建此计时器,其中计时器将使用 javascript 自动更新,并且计时器将每秒递减。
当前的问题是,当用户让手机进入睡眠状态时,计时器不会相应更新,倒计时会有点过,所以我想通过服务器端更新计时器而不是依赖函数如果用户让手机进入睡眠状态,它就会中断。这是我拥有的当前代码
<h2 id="timer">
1:00
<h2>
<script>
var countdown = new Date("<?php echo $row['end_timer'] ?>").getTime();
var now = new Date("<?php echo date('Y-m-d H:i:s') ?>")
var x = setInterval(function() {
// Increase the distance by 1
now.setSeconds(now.getSeconds() +
var distance = countdown - (now.getTime());
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
document.getElementById("timer").innerHTML = (seconds < 10 ? '0' : '') + seconds;
if (distance < 0) {
clearInterval(x);
document.getElementById("timer").innerHTML = "00";
location.reload();
}
}, 1000);
</script>
【问题讨论】:
-
你可以这样做,但你不应该使用 PHP。 PHP 设计为在短时间内(毫秒)运行一次。让 PHP 运行几分钟是可能的,但它有很多问题。 Node.js 会更适合这种任务。或者,您可以重写您的 JS 代码,以便在手机进入睡眠状态时它仍然可以工作
-
手机唤醒后使用单个 ajax 调用与服务器重新同步?
-
如何与 ajax 调用重新同步?
标签: javascript php time timer