前端页面中微信iOS版长按识别二维码有bug怎么办-解决方法
我相信很多在做微信开发的人都会遇到各种bug,而下面小编就给大家分享下前端页面中微信iOS版长按识别二维码bug的解决方法。
发现问题
页面做出来后测试,发现在安卓版微信能正常识别,但iOS 版微信(iPhone 或 iPad)皆无法正常识别。出来问题一开头固然是怀疑自己的代码有问题,上网搜索相关资料,尝试以下方案均无法解决:
1、定位方式由absolute 改为传统的margin(据说绝对定位会导致这个问题);
2、修改viewport 上的`maximum-scale大于1(网络上看到的解决方案);
3、网络上有说用position: fixed; 定位会导致这个问题,但这个页面css 文件完全无fixed 这个单词。
寻找原因
后来找有经验的同事帮忙看下,发现可识别区域恰巧比正常地方稍微往上一点,而“比正常地方稍微往上一点”是多少呢?经过多次人工检测,发现上文“比正常地方稍微往上一点”的高度正是微信标题栏+系统状态栏的高度(64px)。
做了一个问题重现的页面,地址如下(用iOS 微信6.2 扫描方可重现):
iOS 版微信6.2 中二维码实际可识别区域为蓝色框部分(请用第五个小指在边缘区细心长按)。本人测试设备为iPad mini2+ iOS8.1 +微信,其他微信版本没有测试;
基本上可以确定是iOS 版微信的本身问题,原因应该是微信客户端在识别二维码的时候忽略了微信标题栏+系统状态栏的高度,而这种bug 的促发貌似也是需要CSS 进行特殊定位的情况下才产生的(特别是absolute 绝对定位)。因为在微信实习的缘故,跟同事了解了下情况,这个bug 早在6.1 版本就出现了,他们有反馈过但到了6.2 都没有修复。所以当前情况应该是先自行hack 下。
6月25日更新:经过与微信 iOS 开发人员的反馈沟通,确定是微信的 bug,据他们的说法目前已经修复,但能否在下一个版本中加入么,就不得而知了。
解决方案
个人在做这个页面时候采取的解决方案是通过将img 标签增大padding 的方式来增大可点击区域(为此padding-bottom 特长)来解决的。
6月25日更新:还有一种解决方法(如下图),即为二维码图片本身增加透明底部背景(前端上访客看不到),增加可接触面积。
-
QQ空间要注销怎么注销?
我们在开启qq空间之后可能有的用户出于各种原因想关闭掉qq空间。对此我们要如何将我们的空间给注销掉呢?而下面小编就为大家找到了方法,一起来一下吧。如何注销QQ空间?1、请先打开QQ空间注销页面,然后通过您所需注销(关闭)QQ空间的`QQ号码密码进行登录页面;2、通...
-
旅行解压渐成职场充电新方式
选择不一样的途径释放压小苏在我市一家规模较大的货运公司从事跟单工作,刚发完工资,她就和同学买了第二天深夜去武汉的火车票。“那段时间也不知道是怎么了,整个人的情绪很低落,特别是下了十几天的雨,就是想让自己阳光些都很难。”小苏对记者说。在这个单位工作近一...
-
Windows7如何设置拨号连接
我们知道有线上网的时候就需要宽带拨号才行。而有的时候我们宽带牵了却不知道拨号连接是在哪,也找不到怎么设置。对于这种情况win7的用户也比较多,下面小编就分享下win7是如何进行拨号连接设置的吧。方法/步骤:1、进入Windows7系统,右下角,找到网络标识。(如果没有...
-
联想和想象的区别
联想和想象的定义联想:见到甲从而想到乙。动词,因一事物而想起与之有关事物的思想活动。联想是暂时神经联系的复活,它是事物之间联系和关系的反应。客观事物是相互联系的,客观事物或现象之间的各种关系和联系反映在人脑中而有各种联想,有反映事物外部联系的简单的、...