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 相关文章推荐
js判断鼠标左、中、右键哪个被点击的方法
Jan 27 Javascript
如何在Angular.JS中接收并下载PDF
Nov 26 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 Javascript
微信分享调用jssdk实例
Jun 08 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
Sep 28 Javascript
如何使node也支持从url加载一个module详解
Jun 05 Javascript
详解JS实现系统登录页的登录和验证
Apr 29 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
Apr 30 Javascript
npm的lock机制解析
Jun 20 Javascript
vue实现图片上传预览功能
Dec 23 Javascript
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
Mar 17 Javascript
JavaScript原型链中函数和对象的理解
Jun 16 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
PHP 文件上传功能实现代码
2009/06/24 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
js获取当前日期前七天的方法
2015/02/28 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
2015/09/17 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
浅谈JS中的bind方法与函数柯里化
2016/08/10 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
JS脚本加载后执行相应回调函数的操作方法
2018/02/28 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
vue项目,代码提交至码云,iconfont的用法说明
2020/07/30 Javascript
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
Hotels.com越南:酒店预订
2019/10/29 全球购物
函授毕业生自我鉴定
2013/11/06 职场文书
留学生求职信
2014/06/03 职场文书
政府个人对照检查材料
2014/08/28 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
护理心得体会范文
2016/01/22 职场文书
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL