IOS系统下h5页面中的按钮点击延迟,连续点击无反应的解决方法

异常描述:

  ios系统手机中访问h5页面,按钮点击有延迟,连续点击卡顿、无反应。

异常原因:

  这要追溯至 2007 年初。苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题。这当中最出名的,当属双击缩放(double tap to zoom),这也是会有上述 300 毫秒延迟的主要原因。双击缩放,顾名思义,即用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会将网页缩放至原始比例。

解决方法:

简单粗暴型——禁用页面缩放,设置 user-scalable=no。经验证,这种方法不兼容ios低版本手机,如iphone4/5等。

<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1,user-scalable=no">

第三方插件——FastClick,完美兼容主流版本ios系统手机。

html页面中直接使用:

<script src="https://cdn.bootcss.com/fastclick/1.0.6/fastclick.js"></script>
<script>
window.onload=function(){
  FastClick.attach(document.body)
}
</script>

vue项目中使用:

#安装fastclick组件
npm install fastclick --save-dev
#引入FastClick
import FastClick from 'fastclick'
 
//在created或monted生命周期中将FastClick绑定到body
FastClick.attach(document.body)

猜你喜欢

转载自www.cnblogs.com/xyyt/p/9120431.html