最近由于项目须要,要在微信端作几个简单的页面。虽然页面比较简单,可是也在iOS 的适配上发现了两个小坑。但愿经过这篇文章来记录下这两个问题的解决方案,也但愿能帮到你们。vue
1. IOS 12 验证码bugjquery
IOS 12新增了一个功能,就是收到短信验证码以后能够自动填充。可是会有一个bug,就是会自动填充两次(以下图)。ios
对于这个bug目前暂时是没有完美的解决方案的。暂时的解决方案就是限制输入框的长度。例如是4位验证码的话,验证码的输入框就限定最大长度为4位,若是是6位验证码就限定最大长度为6位。浏览器
2.IOS 微信浏览器兼容bugbash
目前ios 存在一个bug就是在文本框输入内容,输入完成之后收起软键盘后,页面的高度不能恢复。可能提及来比较抽象,具体的问题能够看下图:微信
这是一个简单的小demo,具体的问题大概就是这个样子。而对于这个问题的解决思路也很简单,监听每一个输入框的blur事件,而后经过window.scroll()将页面进行校准。具体的代码以下(因为我用的是vue,用原生js或者jquery的可自行修改一下代码):ui
//判断是否微信浏览器
isWeixinBrowser:function(){
let ua = navigator.userAgent.toLowerCase();
this.isWeixin = (/micromessenger/.test(ua)) ? true : false;
},
//ios bug修复
scrollTo:function(){
if(!this.isWeixin) {
return;
}
window.scroll(0, 0);
}
复制代码