Javascript 即使页面/浏览器关闭或刷新,多个计时器仍将继续(在后台运行)

Javascript 即使页面/浏览器关闭或刷新,多个计时器仍将继续(在后台运行),javascript,php,html,timer,setinterval,Javascript,Php,Html,Timer,Setinterval,我不熟悉HTML和JavaScript。我找不到任何解决方案来防止页面上的计时器在页面关闭或刷新时自动重新启动 我希望计时器将继续运行,即使我关闭页面/浏览器 如果计时器倒计时1小时,我就启动并关闭它。30分钟后,我重新打开页面,剩余的时间应该是30分钟 这里是我的计时器代码: 函数倒计时元素,小时,分钟,秒,时间{ var区间; var-htemp=0; var-mtemp=0; 间隔=设置间隔函数{ var el=document.getElementByIdeElement; 如果秒=0

我不熟悉HTML和JavaScript。我找不到任何解决方案来防止页面上的计时器在页面关闭或刷新时自动重新启动

我希望计时器将继续运行,即使我关闭页面/浏览器

如果计时器倒计时1小时,我就启动并关闭它。30分钟后,我重新打开页面,剩余的时间应该是30分钟

这里是我的计时器代码:

函数倒计时元素,小时,分钟,秒,时间{ var区间; var-htemp=0; var-mtemp=0; 间隔=设置间隔函数{ var el=document.getElementByIdeElement; 如果秒=0{ 如果分钟==0{ 如果小时=0{ 清晰间隔; el.innerHTML=oritime; 回来 }否则{ 如果htemp==0{ 分钟=0; 秒=0; htemp=1; } } }否则{ 如果mtemp==0{ 秒=0; mtemp=1; } } } 如果小时数>0{ var hour_text=hours>9?:“0”; }否则{ var hour_text='0'; } 如果分钟数>0{ var minute_text=minutes>9?:“0”; }否则{ var minute_text='0'; } var second_text=seconds>9?:“0”; el.innerHTML=hour_text+hours+':'+分钟_text+minutes+':'+秒_text+seconds; 如果秒=0{ 如果分钟==0{ 如果小时=0{ 清晰间隔; el.innerHTML=oritime; 回来 }否则{ 如果htemp==1{ 小时-; 分钟=59; 秒=60; htemp=0; } } }否则{ 如果mtemp==1{ 分钟-; 秒=60; mtemp=0; } } } 秒-; }, 1000; } 5.
5您应该尝试重构代码,例如:

if (seconds === 0 && minutes === 0 && hours === 0) {
// your else logic here...
}
如果您碰巧使用了大量嵌套的ifs和短路逻辑,您也可以选择使用switch

是的,当你进入javascript的世界时,你会发现很多有趣的库和框架,基本上有很多抽象的函数/方法,这些都是很多聪明的人为你预先编写的,你可以用它们来帮助你更快地开发函数

由于您只将元素存储到变量中,因此只有在本地会话处于活动状态时,计时器才会运行,也就是说,一旦关闭浏览器/会话,所有存储的变量都将被清除

如果您想更多地使用数据库中的数据存储和实际持久性数据,您应该至少在本地主机环境中进行开发,您可以在下载时使用Nodejs轻松地进行设置

希望这有助于你的编码发展之路

简短回答否。Javascript仅在浏览器打开时运行,不应用于保存任何数据

如果你想要一个定时器,你应该使用一个服务器和一个像PHP这样的服务器端语言来完成

编辑:
话虽如此,我发现了一个Jquery,它可能对您有用。

用于阻止页面上的计时器-您这么说是什么意思?我可以看出您尝试了clearInterval,但如果它不适用于您,那是因为变量具有不同的作用域,即使它们都被称为interval。使用document.interval代替interval并删除它前面的var。document.interval不是一个东西,但您可以将任何变量附加到DOM对象。如果这能解决问题,请尝试一下。对不起,英语不好。。我希望计时器将继续运行,即使我关闭页面/浏览器。。如果计时器倒计时1小时,当我启动并关闭它时。。30分钟后,我重新打开页面,剩余的时间应该是30分钟。如果秒数和分钟数和小时数===0{而如果秒数==0和分钟数==0和小时数==0,你有什么理由不这样做吗{?嘿,谢谢你的提醒,忘记了&&运算符具有短路性质,对我的答案进行了编辑~不是真的。你可以使用cookie存储值,并在访问者回来时重新计算计时器。但这并不安全,因为值可以由用户更改不仅可以由e用户,他们也可能被删除等…更不用说它不能与其他浏览器一起工作。如果使用cookie,你能给我演示如何存储计时器并在我重新打开页面时不暂停更新计时器的示例吗?我访问了w3schools.com,但该示例不适合我的情况。