【问题标题】:jQuery Cookie not being readjQuery Cookie 未被读取
【发布时间】:2013-05-27 13:49:01
【问题描述】:

我想知道你是否能够帮助我。我正在尝试在 jQuery 中读取关于样式切换器的 cookie,但它根本不公平。我在 Google 和 jquery cookie 插件网站上浏览过,但无济于事

我正在使用 jquery.cookie 插件。

我可以设置cookie就好了,但读取它完全是另一回事。

我将 cookie 设置为最后使用的样式表,当我重新加载页面时,我希望将该值用作加载的样式表。

我正在使用如下函数读取cookie:

$(document).ready((function() {
            if($.cookie("css")) {
                $('style[id="colours"]').text('@import url("css/' + $.cookie("css") + '.css');
            });
        });

但是,当我使用它时,jQuery 的其余部分会中断。我只使用 $function() 进行了尝试,并在其中放了一个 if else ,但它不起作用。

如果我把它拿出来,页面和 jquery 加载就好了。

正如我所说,cookie 设置良好。我已经通过警报以及在 firebug 和更改 cookie 更改时对其进行了测试。

这是我用来设置cookie的:

$(document).ready(function() {
            $('#green').click(function() {
                $('style[id="colours"]').text('@import url("css/green.css");')
                $.cookie("css",$(this).attr('id'), {expires: 30, path: '/'});
            });
        });

您可以在此处查看我目前拥有的内容:http://www.chriswilcox.me.uk/test/cv 并了解我的意思。我已经注释掉了对 cookie 的读取,因为它破坏了其他所有内容。

我非常感谢你们提供的任何帮助。

【问题讨论】:

  • 您应该始终使用控制台来调试您的代码。您会看到一些错误。
  • 嗨烤,我一直在使用它,我得到的唯一错误是我在参数之后缺少一个 ) 。但事实并非如此,因为我有 if ($.cookie("css"))

标签: jquery cookies stylesheet


【解决方案1】:

您的代码有一个额外的)

$(document).ready(function () { // also here you had an extra (
    if ($.cookie("css")) {
        $('style[id="colours"]').text('@import url("css/' + $.cookie("css") + '.css);');
         // you are missing another one up there at @import
    } // here you don't need to close )
});

【讨论】:

  • 嗨 Spokey,我删除了它,但它仍然没有读取 cookie。它仍然弄乱了其他 jquery 的其余部分:(
  • 哦,我的意思是我已经删除了多余的)
  • 如果你这样做$(function() {alert($.cookie("css")) });,你会得到什么价值?,你也可以取消你网站上的功能,以便我可以看到错误。
  • 我得到了 cookie 存储的值。存储工作得很好。就是看了一点都不喜欢
  • @Chris 检查我上面的编辑,你还有一个额外的(,而你在@import 缺少一个)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多