2017-05-09 53 views
1

我有一個非常簡單的jQuery預加載如下緩存:運行預加載只有內容沒有在瀏覽器中

$(window).load(function() { 
      $("#load-info").fadeOut(); 
      $("#preloader").delay(500).fadeOut("slow", function() { 
       this.remove(); 
      }); 
     }); 

預加載ID是一個白色背景的頁面的整個高度,#負載信息是加載文本和微調。完成微調器和加載消息後,淡出,然後白色背景淡出並顯示頁面內容,並從DOM中刪除項目。這很好,但我想嘗試更進一步,使用戶不會看到任何預加載器,如果他們只是刷新或重新訪問頁面。

我知道我可以簡單地刪除淡入淡出,但是當preloader實際上是必要的時候,它會太突然。我在想也許是一個時間戳,然後檢查時間是否超過了,比方說500毫秒,運行preloader,否則只顯示內容...但我不知道這是否是正確的方式。

只有在實際需要加載頁面而不是在每個頁面視圖上運行預加載器時,我該如何運行預加載器?

回答

0

這可能比您要找的更復雜,但您可以在服務器端處理請求期間檢查是否存在cookie。如果該cookie不存在,您知道用戶第一次在頁面上,因此不會被緩存。然後,您在響應中設置Cookie,或將其設置在JavaScript中。如果Cookie 確實存在,那麼您就知道不顯示預加載器。

相關問題