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 相关文章推荐
Javascript this关键字使用分析
Oct 21 Javascript
jquery 滚动条事件简单实例
Jul 12 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
Jan 02 Javascript
jquery实现html页面 div 假分页有原理有代码
Sep 06 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
Jun 03 Javascript
JS SetInterval 代码实现页面轮询
Aug 11 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
Aug 18 Javascript
ES6中新增的Object.assign()方法详解
Sep 22 Javascript
node 使用 async 控制并发的方法
May 07 Javascript
Vue+element-ui 实现表格的分页功能示例
Aug 18 Javascript
VSCode搭建React Native环境
May 07 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读取MySQL数据代码
2008/06/05 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
2018/04/09 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
JavaScript 事件记录使用说明
2009/10/20 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
VS2008中使用JavaScript调用WebServices
2014/12/18 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
实例详解带参数的 npm script
2019/05/28 Javascript
请求时token过期自动刷新token操作
2020/09/11 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
Python中使用partial改变方法默认参数实例
2015/04/28 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
django模板语法学习之include示例详解
2017/12/17 Python
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
C语言笔试题
2014/09/04 面试题
大学生四个方面的自我评价
2013/09/19 职场文书
往来会计岗位职责
2013/12/19 职场文书
班主任自我评价范文
2015/03/11 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python