最近在做微信公众号,有个页面需要用到微信提供的js-sdk。
config接口注入权限验证配置
在安卓和微信开发者工具中,均没有问题,但是,在ios手机中有问题,报签名认证失败: invalid signature。
经过一番百度,发现:
在ios下,spa的url是不会变的,每次切换,url都是最初进入页面的url。
这就尴尬了。。
所以我们需要在单页路由里面,增加一个ios的判断,具体代码如下:
beforeRouteEnter (to, from, next) { var u = navigator.userAgent; var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 // XXX: 修复iOS版微信HTML5 History兼容性问题 if (isiOS && to.path !== location.pathname) { // 此处不可使用location.replace location.assign(to.fullPath) } else { next() } }
这样,就能解决了。