前端页面中iOS版微信长按识别二维码的bug

问题描述:
H5首页banner图,在安卓微信内长按可识别二维码,但在ios部分机型上,长按图片识别不了二维码。

前端页面中iOS版微信长按识别二维码的bug_第1张图片

测试机型:

iphone6s plus 系统12.1 微信版本6.7.4

iphone7 系统12.0.1 微信版本6.7.4

问题排查:
(1)将图片单独在微信中打开,长按可识别二维码,排除是图片模糊问题;

(2)上网查资料,以下解决方案均无效:

  1. 定位方式由absolute 改为传统的margin(据说绝对定位会导致这个问题);
  2. 修改viewport 上的maximum-scale大于1(网络上看到的解决方案);
  3. 网络上有说用position: fixed; 定位会导致这个问题 ;

(3)网上此类问题资料很少,我们再从代码中查找问题,经反复实验之后,发现代码中用到了window.history.replaceState(null, null, newUrl);以及window.location.href=newUrl,将此类代码注释掉,发现二维码可识别。

问题解决:

哈哈,目前还没找到解决办法,replaceState和window.location.href因业务需要,不可删除。期待广大网友给出办法。

你可能感兴趣的:(前端页面中iOS版微信长按识别二维码的bug)