切换页面导致计时器停止,JS暂停!

引:现在浏览器,除了ie8及以下的浏览器,当你切换标签页面时,浏览器会自动清除本页面的js缓存。

1、为什么?
因为现在的浏览器为了性能考虑,在你切换完选项卡之后会清除掉这里的缓存数据。这属于浏览器层面的逻辑,通过代码无法解决。

2、导致什么?
比如我们在做倒计时计时器时,当你切换页面时,原来倒计时是30秒的,回来后,还是30秒。这就起不到了倒计时的功效了。

3、怎么解决?
①放入后台任务,用websocket进行传输(这是最方便快捷的方法)
②异步解决。这个比较繁琐,但是本质上还是在后台处理,然后反馈到前端页面。
③使用监听事件visibilitychange,当监听到离开页面时,使js动画暂停,回来后继续

你可能感兴趣的:(JS)