微信iOS长按无法识别二维码

真的是无力吐槽微信的坑真的多把人能呕死,做了个公众号开发一大堆的坑

希望你看完每个字

分享一下ios微信长按无法识别二维码的问题

在网上找了一大堆的处理方式说增加img 的padding、设置缩放的、还有说图片大小的问题 、我扫码图片就是从服务号弄下来的。最后还是没用。

然后我就研究了一下到底为啥 

测试流程

这个做了一天的测试才发现测试流程的效果

复制可以识别二维码的公众号地址

没有修改前

复制不可以识别的地址

复制一下你的链接就知道为啥了

问题原因

1、链接错误出现这个问题的原因

是因为微信内置浏览器对 history 的支持不够全面

所以对于开启了 History Mode 的 SPA 应用,只会保存第一条 url

只要每个页面都刷新一次,严格的说不能是简单的刷新,需要用 location.replace 刷新页面,就能解决该问题

2、链接错误和二维码识别有什么关系呢

其实这个我也不明白为啥、反正知道这样能解决问题增加识别二维码的次率、应该就是微信处理的时候会去检测链接吧

证明一点就是和图片、识别位置都没什么关系我都照做了、只要复制出来的链接是不是当前路由链接没用。

解决方案

解决方案肯定就是处理window.location链接问题

我用react写的 不过不管用什么写都一样的思路

 if (pathname.includes('/user/followWeChat') && !window.location.href.match('#time')) {
          setTimeout(window.location = window.location + "#time", 500);}

上述操作的监听你的路由变化到扫码界面后进行设置当前location为当前location处理url变化

为了防止死循环新增一个#time参数下次再执行携带参数不会走这个里面

以上操作完成后已经增加了很大的识别空间

会存在一个问题就是还是会偶现加载完成无法识别的问题、但是刷新一下就好了

 

 

微信iOS长按无法识别二维码_第1张图片

做一个界面刷新、万一用户无法识别点击刷新、目前测试百分之百可以识别 

有问题疑问请留言

送上一波福利

微信公众号开发、企业建站开发、小程序、vue、h5、css3、react等前端视频学习资料关注公众号【码兄】免费获取

你可能感兴趣的:(微信开发,微信开发那些坑)