在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ react-router歷史記錄問題

react-router歷史記錄問題

假設(shè)有A、B、C、D四個頁面:A -> B -> C -> D,也就是從A頁面跳轉(zhuǎn)到B頁面再到C頁面最后到D頁面,都是用history中的push方法進行跳轉(zhuǎn)的。

兩個場景:

  1. 第一個場景,最后跳到D頁面,能不能清除之前所有歷史記錄,也就是history只有D頁面?
  2. 第二個場景,在還沒跳轉(zhuǎn)到D頁面,B可以前進到C頁面,C頁面可以后退到B頁面,一旦C頁面前進到D頁面,這時候點擊瀏覽器的后退按鈕,能不能直接退回到A頁面,不后退到B或C頁面?

請問有沒有對應(yīng)的解決方案?

回答
編輯回答
眼雜
  1. 使用 history.replaceState() 方法,只保留 D 頁面的記錄
  2. 監(jiān)聽 popstate 事件
$(window).on('popstate', function () {
    // 省略了邏輯判斷
    window.history.go(-3);
});
2018年9月12日 07:34
編輯回答
夢囈

1.第二個場景是可以實現(xiàn)的,用history.go(-3)

2017年9月18日 09:29
編輯回答
舊言

監(jiān)聽點擊返回時:

window.onpopstate = function (event) {
    if(當(dāng)前url==D && document.location!=A){
         push到A   
    }
};
2018年4月21日 00:41