ios html5后台运行,HTML5教程 IOS微信后台运行时候倒计时暂停问题解决方案

本篇教程探讨了HTML5教程 IOS微信后台运行时候倒计时暂停问题解决方案,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 。

<

最近做了个H5答题游戏,但在倒计时上遇到一个终端问题:手机端按Home键将微信收入后台之后,IOS11 会继续跑JS五秒钟,注意是5秒,也就是倒计时9的时候收到后台,等1分钟再打开,JS会从4开始倒计时。 听说IOS6的时候能跑10分钟,IOS7有3分钟,IOS11只有5秒....但TM就是个BUG,得改啊(PS,安卓10s能正常跑,我也没试过能跑几秒,也许这就是安卓软件开多了卡爆的原因)。我的选择是获取当前时间戳来解决这个问题,具体代码分析如下:

function Time_a() {

var time = 10;

$(".time").text(time);

var t = setInterval(function() {

if(time == 0) {

clearTimeout(t);

} else {

time--;

$(".time").text(time)

}

}, 1000)

}

当用time--;来倒计时的时候,在IOS11上面就会出现倒计时断层。因此我选择使用时间戳,再配合后台的时间限制,就可以解决IOS的后台运行时间限制。

function Time_b(){

var time=10;

var beginTime=new Date().getTime();

$(".time-a").text(time);

var t= setInterval(function(){

var newTime=new Date().getTime();

var dTime=(newTime-beginTime)/1000;

dTime=parseInt(dTime);

time = 10-dTime > 0 ? 10-dTime : 0;

$(".time-a").text(time);

},1000)

}

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标WEB前端HTML5/CSS3频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值