1. 程式人生 > >(微信公眾號)頁面重定向之後的回退問題

(微信公眾號)頁面重定向之後的回退問題

簡單介紹 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~