为元素设置浏览器cookie

时间:2012-09-13 15:07:21

标签: jquery cookies session-cookies jquery-cookie

如何创建一个cookie,用于存储一个浏览器会话或一天的随机添加的body类。我的目的是随机地为每个用户提供一个正文背景图像,然后存储该图像,这样它就不会改变每次页面重载或转到第2页。

我正在使用这个jQuery plugIn:https://github.com/carhartl/jquery-cookie

我的jQuery代码:

var classes = ['body-bg1', '', 'body-bg2', 'body-bg3', 'body-bg4',];
 var randomnumber = Math.floor(Math.random()*classes.length);     
 $('body').addClass(classes[randomnumber]);

编辑:

我使用的代码:

if($.cookie('userBackground') === null) {
    var classes = ['body-bg1','body-bg2', 'body-bg3', 'body-bg4'];
    var randomnumber = Math.floor(Math.random()*classes.length);
    var chosenClass = classes[randomnumber];
    $('body').addClass(chosenClass );
    $.cookie('userBackground', chosenClass, { expires: 7, path: '/' });
} else {
   //todo verify cookie value is valid
   $('body').addClass($.cookie('userBackground'));
}

我得到的错误:

Uncaught ReferenceError: require is not defined
Uncaught TypeError: Object function (a,b){return new e.fn.init(a,b,h)} has no method 'cookie'  

1 个答案:

答案 0 :(得分:0)

if($.cookie('userBackground') === null) {
    var classes = ['body-bg1','body-bg2', 'body-bg3', 'body-bg4'];
    var randomnumber = Math.floor(Math.random()*classes.length);
    var chosenClass = classes[randomnumber];
    $('body').addClass(chosenClass );
    $.cookie('userBackground', chosenClass, { expires: 7, path: '/' });
} else {
   //todo verify cookie value is valid
   $('body').addClass($.cookie('userBackground'));
}