2016-05-09 50 views
1

已实施类似this 但它在移动设备上失败。一旦设备浏览器进入后台(屏幕锁定/用户启动另一个应用程序/按主页键)JavaScript计数器停止计算空闲时间。我知道这是用于优化内存和CPU利用率的操作系统行为,但是有什么方法可以在移动浏览器上实现预期的行为?在浏览器上计算空闲时间

回答

1

您应该将时间戳存储在内存中,当它再次变为活动状态时,将此时间戳与现在进行比较,然后执行操作,而不是计数。 你可以用Date对象和getTime()来做到这一点。

+0

是的,这在某些情况下会有所帮助,但会对系统时间产生依赖性,如果用户有意或无意地更改了系统时间,则此功能将失败。我也想过使用服务器时间来计算时间,但即使用户不想要,使用Ajax调用也会延长会话时间。 – VirajC

+0

同意你的看法,但大部分设备是同步的。很少有用户需要改变他的时间。另外,他还可以用开发者控制台破解你的脚本,所以如果你想要一些安全和准确的东西,你必须在服务器端进行管理。 – sonique