我创建了一个适用于 Javascript/HTML/PHP/MySQL 的倒计时时钟。
只要点击“开始倒计时”,纪元时间就会存储在数据库中并开始倒计时。
当您重新加载页面时,它会转到数据库,获取倒计时开始的纪元时间,将其与页面重新加载的时间进行比较并计算剩余时间。然后 JS 开始并正确地继续倒计时,而不是从头开始。例如:
我将倒计时时间设置为 100 秒。
我点击:开始倒计时
100、99、98、97、96...
我重新加载页面(假设加载需要 2 秒)
它从应该的地方继续倒数:94、93、92、91 ... 0
这在每个网络浏览器(是的,甚至是 Internet Explorer)上都能完美运行,但我在移动设备上遇到了一个问题:当移动设备休眠时,倒计时停止(我假设它就像在 PC 上关闭浏览器一样),并且当我唤醒它时,它继续从我离开的地方开始计数,而不是从我离开的地方减去设备休眠的总秒数。
我的问题是:JavaScript/Jquery 中是否有一个移动设备一唤醒就会触发的事件?
在线查看我发现了这个:Javascript event for mobile browser re-launch or device wake
这是一个很好的解决方案,但是当用户在页面上时,它会每隔 X 秒(在本例中为 5 秒)联系服务器。这会在页面上造成大量流量,我想阻止它。 [如果我错了请指正]。
任何解决方案将不胜感激!
最佳答案
不要设置剩余时间。设置实际时间并让 JavaScript 计算每个间隔的剩余时间,您的问题就解决了。
关于javascript - 当移动设备从 sleep 中唤醒时重新加载网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29097051/