當(dāng)使用window.history.back()
方法返回上一級(jí)頁(yè)面時(shí),瀏覽器會(huì)從緩存中加載該頁(yè)面,而不會(huì)重新發(fā)送請(qǐng)求,因此頁(yè)面的數(shù)據(jù)也不會(huì)刷新。這是因?yàn)闉g覽器會(huì)將已訪問(wèn)過(guò)的頁(yè)面存儲(chǔ)在緩存中,以提高頁(yè)面加載速度和減少網(wǎng)絡(luò)流量。
如果你希望返回上一級(jí)頁(yè)面時(shí)能夠刷新數(shù)據(jù),可以嘗試以下方法:
location.reload()
方法在返回上一級(jí)頁(yè)面后刷新當(dāng)前頁(yè)面。你可以在返回上一級(jí)頁(yè)面的代碼后面添加location.reload()
方法,如下所示:window.history.back();
location.reload();
window.addEventListener('pageshow', function(){})
監(jiān)聽(tīng)頁(yè)面顯示事件,在該事件中進(jìn)行數(shù)據(jù)刷新操作。你可以在上一級(jí)頁(yè)面的腳本中添加以下代碼,監(jiān)聽(tīng)頁(yè)面顯示事件,并在事件處理程序中執(zhí)行相應(yīng)的數(shù)據(jù)刷新操作:window.addEventListener('pageshow', function(event) {
if (event.persisted) { // 判斷頁(yè)面是否是從緩存中加載的
// 執(zhí)行數(shù)據(jù)刷新操作
}
});
這些方法可以幫助你在返回上一級(jí)頁(yè)面時(shí)刷新數(shù)據(jù),根據(jù)具體的應(yīng)用場(chǎng)景選擇合適的方法。