移动端开发兼容

苹果手机 输入框切换的时候 页面回弹滚动

let timer: any = null;

let result = '';

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS

  result = 'ios';

} else if (/(Android)/i.test(navigator.userAgent)) {  //判断Android

  document.body.style.width = window.screen.width + 'px';

  result = 'android';

}

document.body.addEventListener('focus', (e: any) => {

  if (e.target.tagName === 'TEXTAREA' || e.target.tagName === 'INPUT') {

    window.clearTimeout(timer)

  }

}, true);

document.body.addEventListener('blur', (e: any) => {

  if (e.target.tagName === 'TEXTAREA' || e.target.tagName === 'INPUT') {

    window.clearTimeout(timer)

    timer = window.setTimeout(() => {

      if (result === 'ios') {

        const height = document.documentElement.scrollTop || document.body.scrollTop || 0

        window.scrollTo(0, Math.max(height, 0));

      }

    }, 16)

  }

}, true)

 

通过 js 判断 手机机型   如果是苹果手机  每次切换input 等输入框时 回滚页面

使用     -webkit-overflow-scrolling: touch; 解决苹果手机卡顿问题

这个会导致z-index  失效    但不是所有情况下都失效   具体的失效原因 后面再看

 

window.open(url)  苹果手机无效 可以使用a 标签 href=url 打开 

或者使用window.replace()

苹果手机不支持 new Date('YYYY-MM-DD')  使用 new Date('YYYY/MM/DD')代替

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值