iOS里微信浏览器长按无法识别二维码(ios微信里二次分享不好使)

ios里微信浏览器真是堪比ie6的巨坑

ios里微信浏览器真是堪比ie6的巨坑

ios里微信浏览器真是堪比ie6的巨坑

比如:

ios里微信长按无法识别二维码==
ios里微信浏览器内vue,react等单页面项目url不改变==
ios里微信浏览器下面自带的后退前进导航栏==
ios里的input光标问题==
ios里的滑动卡顿,页面缺失。。。。。==

这次就吐槽一下长按无法识别二维码的问题:

经过咨询和网上查找,有如下处理方法:

1)用 a 标签包裹二维码
2) 设置缩放的, 二维码大小的,或者固定160*160
3)设置position: absolute; 或者 加个透明背景
4)不用fixed
5)padding:1000px; margin:-1000px

如果你是原生html项目,上方式从上到下试试可能就就解决了
但是如果你是vue,react等单页面应用就死亡了。
你可能发现了 只要刷新一下页面二维码就可以识别了,没错!!就是url的坑!

是因为微信内置浏览器对 history 的支持不够全面,对于开启了 history mode 的 SPA 应用,只会保存第一条 url

所以只要对需要二维码的页面 location.assign() 或者 location.replace()

router.afterEach((to, from) => {
    const u = navigator.userAgent.toLowerCase()
    if(u.indexOf("like mac os x") < 0 || u.match(/MicroMessenger/i) != 'micromessenger' || u.match(/WebP/i) == "webp"){ }else{
      if (to.path !== global.location.pathname && (to.name == 'look'||to.name == 'home')) {
          location.assign(to.fullPath)
      }
    }
  })

这里我用的是vue 思路都是一样的

做完这些之后成功率会达到90%或100%
如果你很不幸是那90%成功率的
那就在二维码下加这句话

无法识别二维码点我刷新

别问我为啥url不对会对二维码识别有影响

如果你碰到了这个二维码不识别问题 那你很可能会碰到连带问题 ios微信里二次分享不好使(分享进入项目后需跳页),一样的思路

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS仿微信扫一扫是指在iOS系统上开发一个类似于微信扫一扫功能的应用程序。 该应用程序的主要功能是使用手机摄像头进行二维码扫描,并解析出二维码中的信息。用户可以通过打开应用程序,进入扫一扫界面,将摄像头对准待扫描的二维码,系统会自动识别二维码并进行解析。解析出的信息可以根据需求进行处理,例如跳转到指定的链接、添加好友等。 在开发过程中,首先需要调用iOS的相机API,使得应用程序可以打开手机摄像头进行扫描。其次,需要使用二维码解析库,对扫描到的二维码进行解析,获取其中的信息。解析出的信息可以使用相关库进行处理,例如使用Web API进行网络请求,获取更多的信息。最后,可以根据解析出的信息进行相关的操作,例如打开链接、发送消息等。 在界面设计上,可以参考微信扫一扫的样式和交互方式,使得用户在使用时能够有熟悉的感觉。可以使用类似的界面元素和动画效果,提高应用程序的用户体验度。 总之,iOS仿微信扫一扫是一个具有实际应用价值的应用程序开发项目。通过调用相机API和二维码解析库,实现扫描二维码并解析的功能,进一步根据解析出的信息进行相关操作,如打开链接、发送消息等。同时,在界面设计上可以参考微信扫一扫的样式和交互方式,提高用户体验度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值