2015-09-14 5 views
1

Что я хотел бы добиться того, чтобы загрузить это только один раз, когда пользователь впервые посещает страницу, а затем никогда снова, пока они не очистить их кэшпоказ страницы preloader только один раз?

HTML:

<div id="preloader"> 
<div id="status>loading</div> 
</div> 

JS:

$(window).load(function() { 
    "use strict"; 
    $('#status').fadeOut(); 
    $('#preloader') delay(350).fadeOut('slow'); 
    $('body').delay(350).css({ 
     'overlow': 'visible' 
    }); 
}) 
+0

Кэш? Это будет проще с LocalStorage. Вы имеете в виду это? – Xufox

+0

Как точно пользователь мог бы очистить свой кеш? (просто чтобы быть уверенным, что мы говорим об одном и том же) – musefan

+0

@musefan через их браузер – Kev

ответ

1
$(window).load(function() { 

    //Check if user haven't seen loading screen 
    if (localStorage.getItem('loading-screen') != null) { 

     //show loading 
     $('#status').fadeOut(); 
     $('#preloader')delay(350).fadeOut('slow'); 
     $('body').delay(350).css({'overlow':'visible'); 

     //Set info to localStorage that it has been seen 
     localStorage.setItem('loading-screen', 'seen'); 
    } 

}); 

Удаление LocalStorage:

localStorage.removeItem('loading-screen'); 

Литтл введение:

localStorage.setItem('loading-screen', 'seen'); 
  • 'loading-screen' - ключ, который вы можете использовать, чтобы получить его позже
  • 'seen' - значение этого ключа