溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用JS判斷頁面是首次被加載還是刷新

發布時間:2020-10-21 23:00:03 來源:腳本之家 閱讀:227 作者:玉沐丶 欄目:web開發

1 利用window.name屬性在頁面刷新時不會重置判斷(在該屬性空置的情況下可使用)

if(window.name == ""){
 console.log("首次被加載");
 window.name = "isReload"; // 在首次進入頁面時我們可以給window.name設置一個固定值 
}else if(window.name == "isReload"){
  console.log("頁面被刷新");
}

2 使用sessionStorage或cookie來判斷

與window.name實現方法類似在首次加載時設置一個固定值 之后判斷即可

這里以sessionStorage來為例

if(sessionStorage.getItem("isReload")){
   console.log("頁面被刷新");
}else{
 console.log("首次被加載");
 sessionStorage.setItem("isReload", true)
}

3 可以使用window.chrome對象 (該方法只在谷歌瀏覽器中可用 其他瀏覽器無chrome對象)

該對象提供了一個loadTimes() 方法 執行該方法我們會得到一個有關頁面性能的對象
其中有一個navigationType屬性可以幫助我們判斷頁面是加載還是刷新
它有兩個值 Reload(刷新) 和 Other(首次加載)

所以我們可以通過if判斷:

if(sessionStorage.getItem("isReload")){
   console.log("頁面被刷新");
}else{
 console.log("首次被加載");
 sessionStorage.setItem("isReload", true)
}

使用window.chrome.loadTimes方法會報警告

isreload.html:20 [Deprecation] chrome.loadTimes() is deprecated, instead use standardized API: Navigation Timing 2. https://www.chromestatus.com/features/5637885046816768.

官方已經說明該方法被棄用了 讓我們使用 標準化API: Navigation Timing 2
所有上面代碼需要改下:

if (window.performance.navigation.type == 1) {
 console.log("頁面被刷新")
}else{
 console.log("首次被加載")
}

總結

以上所述是小編給大家介紹的使用JS判斷頁面是首次被加載還是刷新,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女