在PC端和手機瀏覽器中router.replace()
or router.push()
可以正常使用,頁面的地址和頁面都正常顯示;可是在微信中,從/a
頁面經過router.push('/b')跳轉到/b頁面後,頁面正常,可是複製瀏覽器的地址會發現其地址仍爲/a
;選擇在瀏覽器打開發現也是顯示的/a
的頁面。
這應該是微信瀏覽器那邊的問題,微信瀏覽器只會記住你第一次進來的地址。ios
#
在pc端或者手機瀏覽器開發的時候 輸入localhost:8080
,瀏覽器會自動跳轉到localhost:8080/#/
,可是在微信瀏覽器中,雖然頁面顯示正常了,可是咱們經過微信右上角的選項複製當前的地址,會發現地址爲仍然localhost:8080
,這後面致使了其餘的 router.push()
操做都沒法修改微信瀏覽器的url;固然,若是咱們在程序中alert(location.href)是正常的。瀏覽器
在進入頁面的時候咱們默認的給url加上#,即localhost:8080/#/
,再次測試後發現 安卓 中微信瀏覽器的url和咱們項目中的url相對應了。微信
處理完上面的問題後測試安卓機正常了,可是iOS機型微信中在/b
頁面複製地址中仍然/a
頁面,查看資料網上不少人都說能夠經過連接的方式處理。測試
1.用history的時候,把router-link換成a標籤跳轉,url
個人處理方式是點擊跳轉後直接使用window.location.herf = 'localhost:8080/#/b'
的方式,即直接拼接好跳轉的後路由地址。暫時解決了這個問題
由於我在項目中測試只有ios在微信中出現這個問題,因此只針對ios在微信中特殊處理。其餘狀況下仍是經過hash路由正常處理。code