我希望倒数计时器始终显示每个新用户的倒计时。基本上,如果我关闭网页并重新打开它,计时器应该仍在运行。我正在考虑使用JS变量代码函数来定义新客户端的时区以及if语句注释并使其成为重复循环?
基本上,我想在服务器端运行计时器,而不是客户端。
有没有人这样做过?
听起来你可以尝试使用浏览器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>