vue spa页面在调用微信jssdk刷新才成功?

今在做调用微信扫一扫时,发现第一次进入页面调用不成功,刷新一下当前页面在调用竟然成功了!!!!

问题原因:项目使用的是vue-router 进行页面切换,都是操作浏览器历史记录,而在ios中浏览器切换路由时url不变,在安卓中路由变化url是变化的

                 所以当你从a页面切换到b页面时,此时ios记录的还是a页面,所以需要对iso和安卓分别做处理,方式如下

1   Router.beforeEach(function(to, from, next) {
2     // 记录进入app时的url
3     if (typeof window.entryUrl === 'undefined' || window.entryUrl === '') {
4       window.entryUrl = location.href.split('#')[0];
5     }
6   })
7 // 签名使用的url
8 let signLink =  /(Android)/i.test(navigator.userAgent) ? location.href.split('#')[0] : window.entryUrl;
原文地址:https://www.cnblogs.com/TheHeartWants/p/10871543.html