正常情況下我們通過history.back()
或者history.go(-1)
返回上一級頁面的時候,是不會重新整理頁面的。這種不重新整理頁面包含兩種情況:
在 android 或者 pc 瀏覽器中看到的頁面有重新整理的效果,其實不是這樣的,這個時候的所有的資源都是從快取中載入來的。我們通過瀏覽器除錯工具可以看到from disk cache或者from memory cache。
window.addeventlistener('pageshow', function
(event)
});
但是這種方式在 android 和 pc 的瀏覽器中沒有效果,經過嘗試會發現 android 和 pc 的瀏覽器中每一次進入 pageshow事件後,event.persisted
永遠都是返回 false。
不管是在任何情況下,都會監聽到 pageshow事件。既然能進入這個函式,那就得想辦法在這個函式裡判斷是否需要重新整理頁面。可以通過快取的方式localstorage
或sessionstorage
或cookie
。
要在頁面中判斷是否需要重新整理,那就得在從下一級返回過來的時候,往 cache中存入需要重新整理。
sessionstorage.setitem('refresh', 'true');
history.go(-1);
然後在上一級也頁面獲取並判斷
if(sessionstorage.getitem('refresh') === 'true')
window.addeventlistener('pageshow', function
(event) else
} sessionstorage.removeitem('refresh');
});
注意:1. 在下一級頁面返回的時候,要標記需要重新整理頁面(
set
)2. 在判斷完成後,一定要刪除之前的儲存(
remove
)避免出現無限過載的情況
h5 返回上一頁並且重新整理頁面
window.history.go 1 和 window.history.back 1 都用了,安卓會重新整理,ios系統不重新整理 ios會讀取瀏覽器快取 下面用了一種比較low的方法,但是好歹實現了。localstorage.setitem homehref window.location.hr...
js返回上一頁並重新整理思路
在網上找了很多辦法,比如window.history.go 1 window.history.go 0 試了下根本沒用 不知道是不是我 寫錯了 想著在上乙個頁面寫乙個關閉頁面並重新整理的方法,然後在當前頁面呼叫上乙個頁面的方法,但是這個只有iframe巢狀頁面才能實現,最後無奈,只能在localst...
mui返回上一頁並重新整理
需求 從a頁面跳到b頁面,然後從b頁面返回a頁面並重新整理a頁面 傳值到a頁面 1.mui.fire 2.mui.evaljs mui.fire 方法可以觸發目標視窗的自定義事件 mui.fire target,event 例如b頁面 var parent plus.webview.currentw...