解决iOS的H5页面卡顿以及键盘回落后留白问题

本文介绍了如何解决iOS设备上H5页面输入卡顿及键盘收起后页面留白的问题。通过定位问题,发现页面重排是卡顿原因,并通过开启硬件加速和调整CSS属性来优化性能。对于键盘回落后留白,通过在input的focus和blur事件上添加处理方法来解决。此外,还针对两个input同时填写时的页面弹跳问题进行了优化,使用定时器避免了页面异常弹跳。
摘要由CSDN通过智能技术生成

最近做的一个H5刚开开心心提测就被QA一顿怼😭,当input输入完成后页面简直卡成翔💩,当我接过手机亲自测试时慌的一批😢,顿时开始怀疑人生😏,马上开始进入紧张的排查中😊,经过两天不断的调试优化😂,最终完美解决所有问题❤️,此文可以彻底解决iOS的H5页面卡顿以及键盘回落后留白问题😄。

#1.定位问题
当QA和我反映页面卡顿只在iOS上出现时,第一反应肯定不是代码的问题,我也很纳闷iOS性能普遍要比android高啊,为啥会出现这么严重的卡顿,有点慌啊。于是开始了一次惊心动魄的前端性能优化之旅,在Google大概的看了几篇文章,感觉到应该是我在页面加了大量的动画造成了页面重排(reflow)导致的,初步定位问题是重排造成的😄

#2.解决卡顿
把问题定位为重排造成的,于是就开始针对性的排查容易造成重排的隐患,发现有动画的元素都是absolute的,应该问题不大。最后给最外层的元素先后增加了以下属性:

.wrap {
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
}

在浏览器中用css开启硬件加速,使GPU (Graphics Processing Unit)发挥功能,从而提升性能,如果要充分发挥浏览器的性能时,慎用will-change: transform;至于为什么请看CSS will-change 属性;排查了一番该定位

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值