spa(单页应用)中,使用history模式时,微信长按识别二维码在ios下失效的问题
2017-11-10 13:50
585 查看
spa(单页应用,vue)中,使用history模式时,微信长按识别二维码在ios下失效的问题。
路由模式 history
从其他页面跳转到带有微信二维码识别的页面(不是直接打开该页面)
ios版本的微信(实测版本6.5.19)
2. 在beforeCreated中重载该页面(例如增加&_r=1);
3. 改为hash模式恢复正常。
触发条件:
spa单页应用;路由模式 history
从其他页面跳转到带有微信二维码识别的页面(不是直接打开该页面)
ios版本的微信(实测版本6.5.19)
结果:
二维码长按无法识别,刷新页面后恢复正常,安卓下正常。解决方案:
1. 进入该页面的方式不使用路由跳转,而改为 <a href="xxx">目标二维码页面</a>的方式;2. 在beforeCreated中重载该页面(例如增加&_r=1);
3. 改为hash模式恢复正常。
猜想:
微信的长按识别功能,也需要URL认证,但是ios版本的微信,应该是尚未实现根据popstate状态对微信的接口进行监听注册,导致长按识别的接口在该情况下无法识别单页应用修改的路由,从而调用接口失败,而刷新后接口会重新注册当前的URL(而不是通过pushstate改变的URL),因此导致该bug,后续有望修复。毕竟friendly URL 还是有些用处的,特别是分享等场景。相关文章推荐
- 2017-6-14 关于使用history.go的问题!配合原生应用嵌入H5页面(只有一个webview的的单页应用)返回历史列表记录的问题
- 学习iOS开发之使用ZBar扫描二维码中文乱码问题
- 一个二维码扫描自动识别下载应用【微信提示】
- ios-day07-01(使用xib自定义cell、UITableView的footerView“点击加载更多”、headerView为UIScrollView、代理模式的应用)
- 微信6.2.2版本使用文本上传框出现没有应用可执行此操作的问题
- iOS Xcode 5.1.1 使用微信不通过编译问题(ibWeChatSDK.a, missing required architecture arm64)
- ios关于微信分享图片失效的问题
- iOS应用开发中使用设计模式中的观察者模式的实例
- 详解iOS应用开发中使用设计模式中的抽象工厂模式
- 微信连WiFi关注公众号流程更新 解决ios微信扫描二维码不关注就能上网的问题
- 详解iOS应用的设计模式开发中Mediator中介者模式的使用
- 设计模式-单例模式(Singleton)在Android中的应用场景和实际使用遇到的问题
- 深入解析iOS应用开发中对设计模式中的桥接模式的使用
- 前端页面中iOS版微信长按识别二维码的bug与解决方案
- 苹果不允许 iOS 应用内置购买(IAP)使用第三方支付方式,那么跨平台的支付怎么解决这个问题?
- Win10使用兼容性模式来解决应用无法运行的问题
- 实例讲解如何在iOS应用开发中使用设计模式中的代理模式
- IOS开发:基本设计模式(下)-使用设计模式解决问题
- iOS保存系统相册中的照片到应用沙盒中出现的问题--图片旋转90度,使用CGImageRelease造成应用崩溃
- 银行业使用二维码识别客户信息的应用