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

Show preloader only once per session

我一直在尝试对类似问题的一些答案,但我没能成功。我有下面的脚本 每次都在主页上显示一个预加载器,我只想在每个会话中显示一次,否则缓存将被清除。

任何帮助将不胜感激!

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

请试试这个

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 中的数据会在页面会话结束时被清除。只要浏览器打开,页面会话就会持续,并在页面重新加载和恢复后继续存在。在新选项卡或 window 中打开页面将导致启动新会话,这与会话 cookie 的工作方式不同。

FIDDLE DEMO