我想让一个倒数计时器始终为每个新用户显示一个倒数计时器。基本上,如果我关闭网页,然后重新打开,则计时器应该仍在运行。我正在考虑使用JS变量代码函数来定义新客户端的时区以及if语句注释,并使其成为重复循环?
基本上,我想在服务器端而不是客户端端运行计时器。
有人做过吗?
答案 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>