摘要:暫時解決了這個問題因為我在項目中測試只有在微信中出現這個問題,所以只針對在微信中特殊處理。
背景
在PC端和手機瀏覽器中router.replace() or router.push()能夠正常使用,頁面的地址和頁面都正常顯示;但是在微信中,從/a頁面通過router.push("/b")跳轉到/b頁面后,頁面正常,但是復制瀏覽器的地址會發現其地址仍為/a;選擇在瀏覽器打開發現也是顯示的/a的頁面。
這應該是微信瀏覽器那邊的問題,微信瀏覽器只會記住你第一次進來的地址。
在pc端或者手機瀏覽器開發的時候 輸入localhost:8080,瀏覽器會自動跳轉到localhost:8080/#/,但是在微信瀏覽器中,雖然頁面顯示正常了,但是我們通過微信右上角的選項復制當前的地址,會發現地址為仍然localhost:8080,這后面導致了其他的 router.push()操作都無法修改微信瀏覽器的url;當然,如果我們在程序中alert(location.href)是正常的。
解決方案
在進入頁面的時候我們默認的給url加上#,即localhost:8080/#/,再次測試后發現 安卓 中微信瀏覽器的url和我們項目中的url相對應了。
iOS中微信瀏覽器url仍然不對應處理完上面的問題后測試安卓機正常了,但是iOS機型微信中在/b頁面復制地址中仍然/a頁面,查看資料網上很多人都說可以通過鏈接的方式處理。
1.用history的時候,把router-link換成a標簽跳轉,
我的處理方式是點擊跳轉后直接使用window.location.herf = "localhost:8080/#/b"的方式,即直接拼接好跳轉的后路由地址。暫時解決了這個問題
因為我在項目中測試只有ios在微信中出現這個問題,所以只針對ios在微信中特殊處理。其他情況下還是通過hash路由正常處理。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/94279.html
摘要:配置先上配置每個頁面都調用微信授權配置注是我在暴露的接口這份配置主要是根據微信公眾號開發踩坑記錄配置而來。 首先說明,應用環境是使用的是vue+vue-router,history模式開發的單頁應用。 配置 先上配置??? // index.js const protocol = location.protocol + // + location.host; router.afterE...
摘要:處理自己的邏輯四重點來了,解決微信無效的問題使用的網友都知道,路由上帶有做路由的跳轉,而在發過去做微信驗證的的時候,會被干掉,最終導致簽名無效。 一,先登陸微信公眾號后臺綁定js安全域名,不需要加http或https,詳情百度。 二、信公眾號后臺設置服務器的IP為白名單,否則無法獲取access_token,詳情百度 三、引入wx-js-sdk 1.使用script標簽 http://...
摘要:處理自己的邏輯四重點來了,解決微信無效的問題使用的網友都知道,路由上帶有做路由的跳轉,而在發過去做微信驗證的的時候,會被干掉,最終導致簽名無效。 一,先登陸微信公眾號后臺綁定js安全域名,不需要加http或https,詳情百度。 二、信公眾號后臺設置服務器的IP為白名單,否則無法獲取access_token,詳情百度 三、引入wx-js-sdk 1.使用script標簽 http://...
摘要:處理自己的邏輯四重點來了,解決微信無效的問題使用的網友都知道,路由上帶有做路由的跳轉,而在發過去做微信驗證的的時候,會被干掉,最終導致簽名無效。 一,先登陸微信公眾號后臺綁定js安全域名,不需要加http或https,詳情百度。 二、信公眾號后臺設置服務器的IP為白名單,否則無法獲取access_token,詳情百度 三、引入wx-js-sdk 1.使用script標簽 http://...
閱讀 1626·2021-09-02 09:55
閱讀 1092·2019-08-30 13:19
閱讀 1393·2019-08-26 13:51
閱讀 1445·2019-08-26 13:49
閱讀 2372·2019-08-26 12:13
閱讀 452·2019-08-26 11:52
閱讀 1899·2019-08-26 10:58
閱讀 3084·2019-08-26 10:19