- 深入理解React Router:從原理到實踐
- 李楊韜
- 268字
- 2021-04-16 16:10:37
1.3.6 window.location.replace
與history.replaceState類似,window.location.replace會替換當前的棧記錄,但在設置絕對路徑時,其會刷新頁面,重新加載傳入的URL。其語法為:

與設置href不同的是,用replace替換了新頁面后,舊頁面記錄不會被保存。在歷史棧記錄中,這意味著用戶將不能用“后退”按鈕再次回到舊頁面。

在上面的例子中,由于在b.com中調用了location.replace方法,b.com的頁面記錄將消失,替換為c.com的頁面記錄。當用戶在c.com頁面單擊瀏覽器的“后退”按鈕時,將回到a.com頁面。
在某些有表單元素的頁面下,用戶刷新頁面會有POST數據的提交,如果想要刷新當前的頁面,同時避免POST數據的提交,則可以使用:

對于window.location.replace,同樣可使用相對路徑進行跳轉,跳轉規則與1.2.3節中介紹的一致。