vue微信分享出来的链接点开是首页问题的解决方法


Posted in Javascript onNovember 28, 2018

最近工作上遇到了这样一个Bug:“vue微信分享出来的链接点开是首页”

公司网站有PC端和移动端,两个版本。其中如果手机访问PC端,则自动跳转到移动端。(这是常规操作,没啥稀奇点。)

可神奇的问题来了。

在移动端中有微信分享功能,如果手机直接访问手机端的地址进入子页面分享,点开分享的链接进入的是子页面。但是如果是从PC端跳转进入手机端,分享子页面链接打开将会是主页。

这个问题我也百度了各种方法,折腾了一天,然而都没啥用。

最后自己想了一个替代方案:

static目录下新建一个名为html的文件夹,在html文件夹中再新建一个redirect.html(看到这个文件名是不是知道我要干啥了)

没错,我们做一个重定向。

html中写入以下内容

<script>
 
 let url = location.href.split('?')
 let pars = url[1].split('&')
 let data = {}
 pars.forEach((n, i) => {
 let p = n.split('=')
 data[p[0]] = p[1]
 })
 if (!!data.app3Redirect) {
 self.location = decodeURIComponent(data.app3Redirect)
 }
 
</script>

只需要script标签就可以了,反正只是做重定向。

接下来就简单了,原本设置给微信的分享链接是

shareWxLink = window.location.href

现在我们给他改成

shareWxLink = window.location.href.split('#')[0] + 'static/html/redirect.html?app3Redirect=' + encodeURIComponent(window.location.href)

这样,我们就把当前页的地址编码后放到参数app3Redirect里面,当访问redirect.html时将自动重定向到解码后的原地址。

到此,终于把这个坑爹的Bug给修复了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Aptana调试javascript图解教程
Nov 30 Javascript
Jquery 获取对象的几种方式介绍
Jan 17 Javascript
js判断页面中是否有指定控件的简单实例
Mar 04 Javascript
修改或扩展jQuery原生方法的代码实例
Jan 13 Javascript
jquery实现无限分级横向导航菜单的方法
Mar 12 Javascript
Backbone.js的一些使用技巧
Jul 01 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
jQuery鼠标移动图片上实现放大效果
Jun 25 jQuery
Angular.js组件之input mask对input输入进行格式化详解
Jul 10 Javascript
vue模式history下在iis中配置流程
Apr 17 Javascript
vue项目中引入Sass实例方法
Aug 27 Javascript
koa中间件核心(koa-compose)源码解读分析
Jun 15 Javascript
vue实现微信分享功能
Nov 28 #Javascript
vue微信分享到朋友圈 vue微信发送给好友
Nov 28 #Javascript
详解小程序rich-text对富文本支持方案
Nov 28 #Javascript
微信小程序实现简单评论功能
Nov 28 #Javascript
微信小程序实现省市区三级地址选择
Jun 21 #Javascript
Vue一次性简洁明了引入所有公共组件的方法
Nov 28 #Javascript
react脚手架如何配置less和ant按需加载的方法步骤
Nov 28 #Javascript
You might like
类的另类用法--数据的封装
2006/10/09 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
[00:36]DOTA2上海特级锦标赛 Archon战队宣传片
2016/03/04 DOTA
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
python flask中静态文件的管理方法
2018/03/20 Python
儿童编程python入门
2018/05/08 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
人力资源经理的岗位职责
2014/03/02 职场文书
人资专员岗位职责
2014/04/04 职场文书
安全员岗位职责
2015/02/10 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
家庭贫困证明
2015/06/16 职场文书
初中思想品德教学反思
2016/02/24 职场文书
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server
MySQL创建定时任务
2022/01/22 MySQL