pageshow的persisted總爲false解決方案

以前在項目中使用pageshow,發現頁面返回的時候persisted依然爲false,這時候只好找其餘方案解決。 這時候發現有一個window.performance對象,performance.navigation.type是一個無符號短整型 TYPE_NAVIGATE (0): 當前頁面是經過點擊連接,書籤和表單提交,或者腳本操做,或者在url中直接輸入地址,type值爲0 TYPE_RELOAD (1) 點擊刷新頁面按鈕或者經過Location.reload()方法顯示的頁面,type值爲1 TYPE_BACK_FORWARD (2) 頁面經過歷史記錄和前進後退訪問時。type值爲2 TYPE_RESERVED (255) 任何其餘方式,type值爲255git

這真是咱們須要的部分,因而能夠預見,解決方案以下:github

window.addEventListener('pageshow', () => {
  if (e.persisted || (window.performance && 
    window.performance.navigation.type == 2)) {
    location.reload()
  }
}, false)
複製代碼

博客地址 gitbook小冊ui

相關文章
相關標籤/搜索