溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue微信分享出來的鏈接點(diǎn)開是首頁問題的解決方法

發(fā)布時(shí)間:2020-10-16 14:27:46 來源:腳本之家 閱讀:208 作者:糾結(jié)灬 欄目:web開發(fā)

最近工作上遇到了這樣一個(gè)Bug:“vue微信分享出來的鏈接點(diǎn)開是首頁”

公司網(wǎng)站有PC端和移動(dòng)端,兩個(gè)版本。其中如果手機(jī)訪問PC端,則自動(dòng)跳轉(zhuǎn)到移動(dòng)端。(這是常規(guī)操作,沒啥稀奇點(diǎn)。)

可神奇的問題來了。

在移動(dòng)端中有微信分享功能,如果手機(jī)直接訪問手機(jī)端的地址進(jìn)入子頁面分享,點(diǎn)開分享的鏈接進(jìn)入的是子頁面。但是如果是從PC端跳轉(zhuǎn)進(jìn)入手機(jī)端,分享子頁面鏈接打開將會(huì)是主頁。

這個(gè)問題我也百度了各種方法,折騰了一天,然而都沒啥用。

最后自己想了一個(gè)替代方案:

static目錄下新建一個(gè)名為html的文件夾,在html文件夾中再新建一個(gè)redirect.html(看到這個(gè)文件名是不是知道我要干啥了)

沒錯(cuò),我們做一個(gè)重定向。

html中寫入以下內(nèi)容

<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標(biāo)簽就可以了,反正只是做重定向。

接下來就簡單了,原本設(shè)置給微信的分享鏈接是

shareWxLink = window.location.href

現(xiàn)在我們給他改成

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

這樣,我們就把當(dāng)前頁的地址編碼后放到參數(shù)app3Redirect里面,當(dāng)訪問redirect.html時(shí)將自動(dòng)重定向到解碼后的原地址。

到此,終于把這個(gè)坑爹的Bug給修復(fù)了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI