我已经使用以下代码添加了jQuery插件:
<script type="text/javascript" src="js/jquery.cookie.js"></script>
我的激活cookie代码如下:
$(document).ready(function() {
$('ul.sub_menu a').click(function() {
$('#sliderid, .prodcls').css("display","none");
$.cookie('links','linkdisplay',{ expires: 2 });
// var txt = $(this).text();
//console.log("you clicked"+txt);
});
var links = $.cookie('links');
if (links == 'linkdisplay') {$('#sliderid, .prodcls').css("display","none");};
});
但是在firebug控制台中它给出了一个错误:
$ .cookie不是函数[打破此错误] var links = $ .cookie('links');
怎么了?
答案 0 :(得分:2)
我不确定这是否是确切的问题,但肯定这是问题之一。
$(document).ready(function() {
// click Method start here
$('ul.sub_menu a').click(function() {
$('#sliderid, .prodcls').css("display","none");
$.cookie('links','linkdisplay',{ expires: 2 });
// var txt = $(this).text();
//console.log("you clicked"+txt);
});
// click method ends here
// this part is not inside any function, this will be executed on document ready before any click happens
var links = $.cookie('links');
if (links == 'linkdisplay') {$('#sliderid, .prodcls').css("display","none");};
});
问题是,你是在点击处理程序功能上保存cookie,但是在文件就绪之前检索,这是在元素发生任何点击之前,所以当你试图在文件准备就绪时,不会有任何带有名称链接的cookie检索。请参阅我在代码中的评论
答案 1 :(得分:2)
这可能有很多原因,一些常见的原因是:
我希望这会有所帮助。
答案 2 :(得分:1)
如果js文件夹中没有jquery.cookie.js,请通过从here下载将其添加到该文件夹中。
代码似乎很好。第$.cookie('links','linkdisplay',{ expires: 2 });
行将名称为“links”和“linkdisplay”的Cookie保存为值。
您可以参考Get all cookies with Javascrip了解有关coookie插件的更多信息。
如果没有解决,请使用您的HTML代码进行更新,并告诉我您要在Cookie中保存的具体内容。
答案 3 :(得分:0)
我一直在尝试使用代码获取cookie:
jQuery.cookie('my_cookie')
返回错误,所以我把它改成了这个来检查它:
$.cookie('cc_cookie_accept')
现在正在运作。 我假设插件的版本与jQuery版本不兼容,就像user529649所说的那样。