手机网页js计时器在浏览器处于后台的时候被冷冻的问题。
2015-10-30 15:25
465 查看
如果在一个网页上做一个计时器,最简单的方法就是载入网页的时候服务器给一个基础时间,然后网页端用js一秒一秒的加时间,并显示。在PC上一般是没问题的,但是在手机上就大大有问题,因为当手机浏览器切到后台的时候,js是不会继续计时的,一段时间后,再切回浏览器的时候,计时只会从刚才被切出去的时候继续计时。而中间切出去的时间则没法计量。
有一个很简单的办法可以解决这个问题,那就是调用手机自己的时间。页面载入的时候,记下时间T1,做一个js程序,每一秒取一次手机时间T2,这样T2-T1就是已经过去的时间,不管中途浏览器怎么后台,下一秒立刻刷新出正确时间。
有一个很简单的办法可以解决这个问题,那就是调用手机自己的时间。页面载入的时候,记下时间T1,做一个js程序,每一秒取一次手机时间T2,这样T2-T1就是已经过去的时间,不管中途浏览器怎么后台,下一秒立刻刷新出正确时间。
</pre><pre name="code" class="html">
var SysTime={{SysTime}}//刷新页面时候传入的系统时间,因为很多手机在刷新的时候就要用时几秒十几秒,所以这个时间以后台服务器传入时间为准。不在本地取。 $(function(){ //计时功能 setInterval(function(){ var myDate = new Date(); var mytime=myDate.getTime()/1000; var time=Math.round(mytime-SysTime) function(显示时间) } },1000); });
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets