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

问题描述 投票:-3回答:1

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

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

有没有人这样做过?

javascript html countdowntimer
1个回答
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>
© www.soinside.com 2019 - 2024. All rights reserved.