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

2,396 阅读1分钟

问题描述:

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

测试机型:

  • 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因业务需要,不可删除。期待广大网友给出办法。