在瀏覽器的歷史記錄中,沒有直接的方法可以回到上一頁并刷新該頁面。`history.back()`、`history.go(-1)`主要負(fù)責(zé)導(dǎo)航到歷史記錄中的上一頁,而不會強(qiáng)制刷新那一頁。這個(gè)方法實(shí)際上是在瀏覽器歷史記錄中后退一步,這意味著如果前一頁的內(nèi)容仍然在瀏覽器的緩存中存在,它將不會再次從服務(wù)器加載頁面內(nèi)容。頁面刷新通常需要通過`location.reload()`或者瀏覽器的刷新按鈕來觸發(fā)。
如果希望在后退到上一頁時(shí)刷新頁面,就需要手動對頁面進(jìn)行刷新,可以使用`location.reload()`方法。這個(gè)方法將會重新加載當(dāng)前頁面,類似于用戶手動點(diǎn)擊瀏覽器刷新按鈕。如圖所示:
通過監(jiān)聽`pageshow`事件,如果事件對象中的`persisted`屬性為`true`,表示頁面是通過瀏覽器的歷史記錄返回的(例如通過`history.back()`后退到此頁),然后調(diào)用`___window.location.reload()`方法刷新頁面。
關(guān)鍵詞: