【问题标题】:Set a browser cookie for element为元素设置浏览器 cookie
【发布时间】:2012-09-06 17:21:48
【问题描述】:

我将如何创建一个 cookie 来存储一个浏览器会话或一天的随机添加的 body 类。我的意图是随机给每个用户一个身体背景图像,然后存储该图像,这样它就不会改变每次页面重新加载或当他们转到第 2 页时。

我正在使用这个 jQuery 插件: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'  

【问题讨论】:

    标签: jquery cookies session-cookies jquery-cookie


    【解决方案1】:
    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'));
    }
    

    【讨论】:

    • 嗨 OnResolve,目前出现错误code Uncaught TypeError: Object function (a,b){return new e.fn.init(a,b,h)} has no method 'cookie'code
    • 这会告诉我你没有加载插件。您是否有在同一页面中导入插件的脚本标签?
    • 我需要将 server.js 和带有这个插件的 jquery.cookie.js 添加到标题中吗?
    • @Pullapooh,您确实需要在文件头部包含 jquery.cookie.js。至于 server.js,我不确定你的问题是什么——但如果你使用插件中的函数,当然需要加载它。
    • 现在我在文档的头部都导入了,现在我得到一个新的错误,旧的 Uncaught ReferenceError: require is not defined。 server.js 附带插件,但在说明中没有提到您应该将它放在文档的头部。
    猜你喜欢
    • 2014-05-07
    • 2014-08-10
    • 2020-06-06
    • 1970-01-01
    • 2018-10-26
    • 2017-12-17
    • 2013-08-07
    • 1970-01-01
    相关资源
    最近更新 更多