【问题标题】:How can I load a CSS file once per session?如何在每个会话中加载一次 CSS 文件?
【发布时间】:2018-01-06 17:55:14
【问题描述】:

我的网站文件中有一个欢迎动画,它全部包含在一个 CSS 文件中。如何让这个 CSS 文件在每个会话中只加载一次?

我正在使用 Wordpress,并且我将动画链接在一个只加载在主页上的头文件中。我只希望这个 CSS 文件加载一次,这样当用户点击返回主页时,CSS 文件就不会加载。

我知道我必须设置一个 cookie,但我不确定这样做的最佳方式是什么。希望有人能指出正确的方向,谢谢

编辑:这是我尝试使用 jquery.cookie.js 的一些代码。我的代码抛出错误:

Uncaught TypeError: ("<link/>" , (intermediate value)(intermediate value)(intermediate value)).appendTo is not a function

代码-

jQuery(document).ready(function() {
    if (jQuery.cookie('noShowWelcome')){}
    else {
        jQuery(("<link/>", {
   rel: "stylesheet",
   type: "text/css",
   href: "http://le1dev.co.uk/pureretail/1/wp-content/themes/le1-web-package-a/library/css/header-animation.css"
}).appendTo("head"));
            jQuery.cookie('noShowWelcome', true);    
        };
    });

【问题讨论】:

  • @Cagy79 我认为他的意思是css应该在每个会话中加载一次,然后不应该再次出现。因此,当我第一次访问该网页时,动画会加载,但如果我在同一会话中第二次访问它则不会。完全不相关。
  • 我在一定程度上同意。 Sam,如果您可以发布一些您已经尝试过的代码,那将会有所帮助。它可能有点宽泛,但我不认为它不清楚。
  • 您最好发送适当的到期标头,以便浏览器只加载一次,您不必担心如何/何时。阅读 .htaccess 中的 ExpiresByType
  • @twicejr 这个问题似乎不是关于缓存,而是关于只有在用户第一次访问页面时才能获得效果。
  • 我知道这不是 UX.SE,但是……如果幸运的话,“欢迎动画”通常会让人们在前两秒内离开您的网站。太糟糕了,我知道动画真的很棒很酷,但是......如果访问者无法在几分之一秒内进入内容,你很可能会失去他们,因为他们会去寻找信息别处。这就是为什么整页 Flash“欢迎屏幕”已死的原因。

标签: php css wordpress session cookies


【解决方案1】:

请参阅this问答,了解如何使用 js 设置会话 cookie,this 问题了解如何使用 js 加载 CSS 文件。

您可以结合这些来检查会话 cookie。如果它不存在,则创建一个并加载 CSS。如果确实存在,则什么也不做。

【讨论】:

  • @twicejr 我不明白为什么。在我看来,这适用于任何普通网站。请解释。还有为什么要投反对票?是不是同一个原因?
  • 我没有正确阅读,downvote 不是我的。我删除了我的评论,因为我阅读了“欢迎动画”部分。加载文件一次只是我认为的唯一挑战。
  • 有道理。我想我不应该假设你会投票反对。但是,不管是谁,如果你能说出你投反对票的原因,那会有所帮助。
猜你喜欢
  • 2014-07-21
  • 2020-10-08
  • 1970-01-01
  • 2019-09-25
  • 2021-07-16
  • 2013-04-24
  • 1970-01-01
  • 2019-11-04
  • 2013-06-05
相关资源
最近更新 更多