vuejs构建的单页面应用history模式子页面微信分享在iOS中遇到的问题
生活随笔
收集整理的這篇文章主要介紹了
vuejs构建的单页面应用history模式子页面微信分享在iOS中遇到的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
在用vuejs做的SPA單頁面應用,router模式為history模式,應用是個商城,在進入商品詳情頁時,第一次進入頁面提示簽名無效,手動刷新一下就ok,很是煩躁,經過不懈努力,終于解決。
問題分析
微信官方js-sdk文檔上是這么寫的
然而并沒有提到iOS,通過在真機上測試,問題應該是iOS和安卓處理URL的方式不同,安卓手機沒有問題,iOS上需要進入商品詳情頁刷新一下才能正確的進行微信config.
問題解決
如果你有多個頁面需要做分享,可以這樣做:
// mixins/assign.js
const location = global.location const u = navigator.userAgent let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端export default {beforeRouteEnter(to, from, next) {if (isiOS && to.path !== location.pathname) {// 此處不能使用location.replacelocation.assign(to.fullPath)} else {next()}} }然后:
import assign from '@/mixins/assign.js'export default {...mixins: [assign],... }這樣就完美解決!
總結
以上是生活随笔為你收集整理的vuejs构建的单页面应用history模式子页面微信分享在iOS中遇到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iKcamp|基于Koa2搭建Node.
- 下一篇: 10 过滤器和监听器