每个会话仅显示一次预加载器

时间:2016-01-07 11:50:14

标签: jquery cookies preloader

我一直在尝试类似问题的答案,但我还没有设法让它发挥作用。我已经得到了下面的脚本每次都会在主页上显示一个预加载器,我只想在每个会话中显示一次或者清除缓存。

任何帮助将不胜感激!

jQuery(window).load(function() {
  jQuery("#status").delay(2000).fadeOut("slow");
  jQuery("#preloader").delay(2500).fadeOut("slow");
});

1 个答案:

答案 0 :(得分:1)

请尝试此

jQuery(window).load(function() {
  if (sessionStorage.getItem('dontLoad') == null)
    {
      jQuery("#status").delay(3000).fadeOut("slow");
      jQuery("#preloader").delay(3000).fadeOut("slow");
      sessionStorage.setItem('dontLoad', 'true');
    }
});

sessionStorage属性允许您访问会话存储对象。 sessionStorage类似于Window.localStorage,唯一的区别是当localStorage中存储的数据没有到期设置时,存储在sessionStorage中的数据在页面会话结束时被清除。只要浏览器处于打开状态,页面会话就会持续,并且会在页面重新加载和恢复后继续存在。在新选项卡或窗口中打开页面将导致启动新会话,这与会话cookie的工作方式不同。

FIDDLE DEMO