簡體   English   中英

如何使加載程序僅在頁面資產首次加載時才運行,而不是在它們被緩存后才運行?

[英]How to make loader only run when page assets load the first time - but not after they get cached?

我只想在有人第一次訪問網頁時才運行加載程序,並且在緩存網頁后不再讓加載程序再次運行。

有沒有一種方法可以確保僅在第一次加載頁面/窗口上的資產時才運行加載程序,而不是在資產被緩存后才運行。

HTML

   <div id="preloader">
       <div class="spinner"></div>
    </div>

JQUERY

 $(window).on("load", function (e) {
            if($('#preloader').length > 0){
                $('#preloader').fadeOut('slow',function(){$(this).remove();});
            }
        });

更新:使用HTML localstorage似乎效果很好。

     $(window).on("load", function (e) {
            localStorage.loaded = "yes";
            if($('#preloader').length > 0){
                $('#preloader').fadeOut('slow',function(){$(this).remove();});
            }
        });

    if (localStorage.loaded == "yes") {
            $('#preloader').remove();
            //or any other method of not showing the spinner
        }

試試這個解決方案,這對我有用

$(document).ready(function(){

    var check=getCookie("loader");

    if (check!="false") {
            var loader="true";
    }else{
        loader=check;
    };
    if (loader=="true") {

    document.cookie="loader=false";
      loader=getCookie("loader");
    //your function

    }else {
        //alert(check);
        //alert(loader);
    //your function;
    }
    });

    function getCookie(name) {
      return (name = (document.cookie + ';').match(new RegExp(name + '=.*;'))) && name[0].split(/=|;/)[1];
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM