博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vuejs构建的单页面应用history模式子页面微信分享在iOS中遇到的问题
阅读量:6489 次
发布时间:2019-06-24

本文共 684 字,大约阅读时间需要 2 分钟。

问题描述

在用vuejs做的SPA单页面应用,router模式为history模式,应用是个商城,在进入商品详情页时,第一次进入页面提示签名无效,手动刷新一下就ok,很是烦躁,经过不懈努力,终于解决。

问题分析

微信官方js-sdk文档上是这么写的

clipboard.png

然而并没有提到iOS,通过在真机上测试,问题应该是iOS和安卓处理URL的方式不同,安卓手机没有问题,iOS上需要进入商品详情页刷新一下才能正确的进行微信config.

问题解决

如果你有多个页面需要做分享,可以这样做:

// mixins/assign.js

const location = global.locationconst u = navigator.userAgentlet isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端export default {  beforeRouteEnter(to, from, next) {    if (isiOS && to.path !== location.pathname) {      // 此处不能使用location.replace      location.assign(to.fullPath)    } else {      next()    }  }}

然后:

import assign from '@/mixins/assign.js'export default {    ...    mixins: [assign],    ...}

这样就完美解决!

转载地址:http://zwouo.baihongyu.com/

你可能感兴趣的文章
【云栖精选】《云栖精选阿里巴巴技术实战2016年刊》重磅发布
查看>>
Javascript:谈谈JS的全局变量跟局部变量
查看>>
大数据相关术语(2)
查看>>
11个超棒的iOS开发学习网站
查看>>
排序算法之奇偶排序
查看>>
C++语言基础 例程 案例:bmp文件格式剖析
查看>>
C++实践参考——形状类族的中的纯虚函数
查看>>
揭秘Facebook数据库备份策略
查看>>
【译】用Fragment创建动态的界面布局(附Android示例代码)
查看>>
MonoDevelop的app.config问题
查看>>
MongoDB位置查询内存使用优化
查看>>
计算机病毒
查看>>
1808亿次,16倍的超越!谈支付宝红包的高并发挑战
查看>>
app开发进度表
查看>>
if continue 语句
查看>>
使用logminer来分析对表所做的修改
查看>>
Ubuntu 13.04 MySQL Proxy 安装与配置
查看>>
[转]linq查询运算符大全
查看>>
[MySQL 学习] Innodb锁系统(1)之如何阅读死锁日志
查看>>
[LeetCode] Game of Life
查看>>