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 相关文章推荐
初窥JQuery(二)事件机制(2)
Dec 06 Javascript
基于JavaScript 声明全局变量的三种方式详解
May 07 Javascript
js图片延迟加载的实现方法及思路
Jul 22 Javascript
顶部缓冲下拉菜单导航特效的JS代码
Aug 27 Javascript
jQuery中选择器小问题(新人难免遇到)
Mar 31 Javascript
创建、调用JavaScript对象的方法集锦
Dec 24 Javascript
使用js画图之正弦曲线
Jan 12 Javascript
JavaScript 数组some()和filter()的用法及区别
May 20 Javascript
jquery实现文本框的禁用和启用
Dec 07 Javascript
jquery实现tab键进行选择后enter键触发click行为
Mar 29 jQuery
在vue组件中使用axios的方法
Mar 16 Javascript
react国际化化插件react-i18n-auto使用详解
Mar 31 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
咖啡知识大全
2021/03/03 新手入门
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
php实现指定字符串中查找子字符串的方法
2015/03/17 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
php使用curl获取header检测开启GZip压缩的方法
2018/08/15 PHP
PHP chr()函数讲解
2019/02/11 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
js GridView 实现自动计算操作代码
2009/03/25 Javascript
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
Python实现telnet服务器的方法
2015/07/10 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
python实现梯度下降法
2020/03/24 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
单位绩效考核方案
2014/05/11 职场文书
环境科学专业求职信
2014/08/04 职场文书
2015年端午节活动方案
2015/05/05 职场文书
比较几种Redis集群方案
2021/06/21 Redis
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js
Redis 哨兵机制及配置实现
2022/03/25 Redis