最近工作上遇到了这样一个Bug:“vue微信分享出来的链接点开是首页”
公司网站有PC端和移动端,两个版本。其中如果手机访问PC端,则自动跳转到移动端。(这是常规操作,没啥稀奇点。)
可神奇的问题来了。
在移动端中有微信分享功能,如果手机直接访问手机端的地址进入子页面分享,点开分享的链接进入的是子页面。但是如果是从PC端跳转进入手机端,分享子页面链接打开将会是主页。
这个问题我也百度了各种方法,折腾了一天,然而都没啥用。
最后自己想了一个替代方案:
在static目录下新建一个名为html的文件夹,在html文件夹中再新建一个redirect.html(看到这个文件名是不是知道我要干啥了)
没错,我们做一个重定向。
html中写入以下内容
< >
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)
}
</ >
只需要 标签就可以了,反正只是做重定向。
接下来就简单了,原本设置给微信的分享链接是
shareWx = window.location.href
现在我们给他改成
shareWx = window.location.href.split(\'#\')[0] + \'static/html/redirect.html?app3Redirect=\' + encodeURIComponent(window.location.href)
这样,我们就把当前页的地址编码后放到参数app3Redirect里面,当访问redirect.html时将自动重定向到解码后的原地址。
到此,终于把这个坑爹的Bug给修复了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
上一篇 :
如何用技术搞好英俄翻译?
下一篇 :
如何在Linux中自定义bash命令提示符
-
35个Java代码优化的细节,你知道几个?
2026-05-19栏目: 教程
-
[译] 作为程序员你不能成功的 10 个迹象
2026-05-19栏目: 教程
-
[译] 从没有人告诉过我的 CSS 小知识
2026-05-19栏目: 教程
-
[译] Android 生命周期备忘录 — 第三部分:Fragments
2026-05-19栏目: 教程
-
[译] 多线程简介:一步一步来接近多线程的世界
2026-05-19栏目: 教程
