如何在服务器端运行计时器

时间:2019-02-09 20:02:22

标签: javascript html countdowntimer

我想让一个倒数计时器始终为每个新用户显示一个倒数计时器。基本上,如果我关闭网页,然后重新打开,则计时器应该仍在运行。我正在考虑使用JS变量代码函数来定义新客户端的时区以及if语句注释,并使其成为重复循环?

基本上,我想在服务器端而不是客户端端运行计时器。

有人做过吗?

1 个答案:

答案 0 :(得分:0)

听起来有些您可以尝试使用浏览器localStorage解决的问题。如果您唯一的要求是在关闭标签页/浏览器并返回页面后保持可用的时间,那么这很适合您。

这是一个小的Codesandbox示例代码,说明如何有条件地检查并保存到localStorage,然后根据该值启动计数器。

https://codesandbox.io/s/4xw97q02m0

编辑:粘贴到帖子的相同代码

function setCurrentTime(){
  let localStore = window.localStorage.getItem("myTime") // Check if already exists
  if(localStore) return localStore
  const time = Date.now(); // get current time stamp
  window.localStorage.setItem("myTime", time) // Save to localStorage
  return time
}

function startCount(){
  const time = setCurrentTime()
  const elem = document.getElementById("app")

  setInterval(() => {
    elem.innerHTML = `seconds since time saved: 
     ${Math.floor((Date.now() - time) / 1000)}
    `
  }, 1000)
}
startCount()
<div id="app"></div>