您好,登錄后才能下訂單哦!
最近工作上遇到了這樣一個(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í)有所幫助,也希望大家多多支持億速云。
免責(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)容。