微信iOS长按无法识别二维码
  ttOzQgS7km1w 2023年12月12日 13 0


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

希望你看完每个字

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

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

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

测试流程

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

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

没有修改前

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

复制不可以识别的地址

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

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

问题原因

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长按无法识别二维码_微信_03

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

有问题疑问请留言

公众号【码兄】

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月12日 0

暂无评论

推荐阅读
ttOzQgS7km1w