Javascript 在意外电源故障时恢复JS定时器
我正在制作一个在线测验应用程序,它有一个通过JavaScript实现的计时器。如果浏览器因电源故障而意外关闭,我打算从浏览器关闭的时间点恢复计时器。现在,我只在测验结束时使用PHP/AJAX在数据库中记录时间。如何从用户关闭浏览器的确切时间恢复?您可以订阅窗口卸载事件,但我不能100%确定这会在断电关机时触发Javascript 在意外电源故障时恢复JS定时器,javascript,Javascript,我正在制作一个在线测验应用程序,它有一个通过JavaScript实现的计时器。如果浏览器因电源故障而意外关闭,我打算从浏览器关闭的时间点恢复计时器。现在,我只在测验结束时使用PHP/AJAX在数据库中记录时间。如何从用户关闭浏览器的确切时间恢复?您可以订阅窗口卸载事件,但我不能100%确定这会在断电关机时触发 也许更好的解决方案是在测验过程中通过setInterval轮询用户,它可以每1000毫秒(或无论多么频繁)触发一次,并设置/更新cookie 电源故障的问题是,您不会在断电之前收到通知,因
也许更好的解决方案是在测验过程中通过
setInterval
轮询用户,它可以每1000毫秒(或无论多么频繁)触发一次,并设置/更新cookie 电源故障的问题是,您不会在断电之前收到通知,因此在电源故障时没有机会保存状态
因此,知道电源何时熄灭的唯一方法是每N个时间间隔持续保存状态。然后,当电源断开然后恢复时,您可以查看上次保存的状态。这并不完美,但将是你能做的最好的
保存状态的三个选项是:
即使选项1和选项2中的本地状态在断电时也有可能无法正确保存的小危险,但据我所知,大多数浏览器在保存时都会将其保存到磁盘上,这样即使浏览器稍后崩溃,也能保持其可靠性。在断电时不会出现窗口卸载事件。不,断电时不会触发卸载。