(微信公眾號)頁面重定向之後的回退問題
阿新 • • 發佈:2019-01-06
簡單介紹 window 的兩個常用 api
- window.document.location.replace
- window.document.location.href
通常如果我們需要跳轉頁面,如果沒有使用 vue-router 等路由的話,我們都會選擇 location.href = xxx
直接對頁面進行替換。對於pc端頁面也不會有什麼問題,除了登入頁面的回退。
不可否認的是,很多頁面對於登入之後的跳轉頁面做的比較隨意,使用者如果一直點回退,登入態就丟了,雖然可以引導使用者不要一直回退,或者直接忽略這個小問題,也不是什麼太嚴重的bug,但總體來說使用者體驗是不好的。
window.location.replace(url);
用新文件替換當前文件
History 物件最初設計來表示視窗的瀏覽歷史。但出於隱私方面的原因,History 物件不再允許指令碼訪問已經訪問過的實際 URL。唯一保持使用的功能只有 back()、forward() 和 go() 方法。
window.history.go(-2); //後退兩頁
window.history.go(-1); //後退一頁
window.history.go(1); //前進一頁
window.history.go(2); //前進兩頁
window.history .back();//後退一頁
window.history.forward();//前進一頁
原本所有的使用 location.href = xxx
來跳轉頁面的地方,全都換成 window.location.replace(url)
之後你會發現,pc瀏覽器的回退是灰色的,也就是不能回退啦! 同樣的,如果是微信公眾號裡的h5頁面,使用replace
這個 api 之後,點選返回也會直接關閉頁面。 bingo~