jQuery 操作cookie保存用户浏览信息

使用jQuery操作cookie之前需要引入jQuery的一个cookie小组件js,代码如下:

/*
        jQuery cookie plugins
*/
jQuery.cookie = function(name, value, options) {
    if (typeof value != ‘undefined‘) { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = ‘‘;
            options.expires = -1;
        }
        var expires = ‘‘;
        if (options.expires && (typeof options.expires == ‘number‘ || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == ‘number‘) {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = ‘; expires=‘ + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        var path = options.path ? ‘; path=‘ + options.path : ‘‘;
        var domain = options.domain ? ‘; domain=‘ + options.domain : ‘‘;
        var secure = options.secure ? ‘; secure‘ : ‘‘;
        document.cookie = [name, ‘=‘, encodeURIComponent(value), expires, path, domain, secure].join(‘‘);
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != ‘‘) {
            var cookies = document.cookie.split(‘;‘);
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + ‘=‘)) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

然后开始在页面写操作cookie存储用户信息js函数(方法),保存时间为两年,例子如下:

// 写入cookie

function writeHistoryCookie() {
        var formatJson = {"data":[]};
        var jsonCookie = {"screen_name":escape(screen_name),"screen_ico":escape(screen_ico),"screen_location":escape(screen_location),
                        "screen_score":escape(screen_score),"userid":escape(userid)};
        
        // parameters value is null? string return
        if(!jsonCookie.userid){
                showHistory();
                return;
        }
        //read all history
        var objs = $j.cookie(‘historyCooike‘);
        var arrayCookies = [];
        var jsonObjs = null;
        if(objs != null){

// 值得注意的是,json转字符串和字符串转json的使用方法一定要清楚并检测是否兼容浏览器
                jsonObjs = jQuery.parseJSON(objs);
                for(var i=0;i<jsonObjs.data.length;i++){
                        var js_name = unescape(jsonObjs.data[i].screen_name);
                        var js_ico = unescape(jsonObjs.data[i].screen_ico);
                        var js_id = unescape(jsonObjs.data[i].userid);
                        var js_location = unescape(jsonObjs.data[i].screen_location);
                        var js_score = unescape(jsonObjs.data[i].screen_score);
                        if(userid != js_id){
                                var temp = {"screen_name":escape(js_name),"screen_ico":escape(js_ico),"screen_location":escape(js_location),
                                                                "screen_score":escape(js_score),"userid":escape(js_id)};
                                formatJson.data.push(temp);
                        }
                }
        }
        if(formatJson.data.length > 9){
                formatJson.data.pop();//delete last one
        }
        //put to first
        formatJson.data.unshift(jsonCookie);
        //get string type json
        jsonObjs = JSON.stringify(formatJson);
        //writer
        $j.cookie(‘historyCooike‘, jsonObjs , {expires: 365 * 2, path: ‘/‘});
        //writer over show
        showHistory();
}

// 读取cookie
function showHistory() {
        var str=‘‘;
        var historyCooike = $j.cookie(‘historyCooike‘);
        var cookieObjs = null;
        if(historyCooike != null){
                cookieObjs = jQuery.parseJSON(historyCooike);
                for(var i=0;i<cookieObjs.data.length;i++){
                        var cookie_name = unescape(cookieObjs.data[i].screen_name);
                        var cookie_ico = unescape(cookieObjs.data[i].screen_ico);
                        var cookie_id = unescape(cookieObjs.data[i].userid);
                        var cookie_location = unescape(cookieObjs.data[i].screen_location);
                        var cookie_score = unescape(cookieObjs.data[i].screen_score);
                        if(cookie_id == null || cookie_id == ‘undefined‘) continue;
                        str +=  ‘<li>‘ +
                              ‘<div class="imgPL">‘ +
                                ‘<a class="blue" href="profile.do?uid=‘ + cookie_id + ‘">‘ +
                                   ‘<img border="0" src="‘ + cookie_ico + ‘">‘ +
                                ‘</a>‘ +
                              ‘</div>‘ +
                             ‘<p>‘ +
                              ‘<span><a href="profile.do?uid=‘ + cookie_id + ‘">‘ + cookie_name + ‘</a></span> [‘ + cookie_location + ‘]‘+
                               ‘<br />‘+
                                          ‘微博价值:<em class="red">‘ + cookie_score + ‘</em>‘+
                            ‘</p>‘+
                                ‘</li>‘
        }
        }
        if(str == ‘‘) {
                $j(‘#right_user_list‘).html(‘<li style="text-align:center; line-height:40px; color:#646464; font-size:12px; border:none; padding-bottom:0px;">暂无查询记录</li>‘);
        }else{
                str += ‘<div style=" text-align: right; color:#0691C4; cursor:pointer; padding-top: 7px; font-size: 12px; padding-right:10px;"><span id="clearJL" onclick="clearCookie()">清空记录>>></span></div>‘;
                $j(‘#right_user_list‘).html(str);
        }
}

// 清除cookie
function clearCookie(){
        $j.cookie(‘historyCooike‘, null);
        showHistory();
}

时间: 2024-10-26 05:01:04

jQuery 操作cookie保存用户浏览信息的相关文章

使用cookie保存用户登录信息

写入Cookie HttpCookie _cookie = new HttpCookie("User"); _cookie.Values.Add("UserName", login.UserName); _cookie.Values.Add("Password", login.Password); Response.Cookies.Add(_cookie); 读取Cookie HttpCookie _cookie = httpContext.Re

php使用session来保存用户登录信息

php使用session来保存用户登录信息 使用session保存页面登录信息 1.数据库连接配置页面:connectvars.php <?php//数据库的位置define('DB_HOST', 'localhost');//用户名define('DB_USER', 'root');//口令define('DB_PASSWORD', '19900101');//数据库名define('DB_NAME','test') ;?> 2.登录页面:logIn.php <?php//插入连接数据

jQuery 操作Cookie

一个轻量级的cookie 插件,可以读取.写入.删除 cookie. 下载地址:http://plugins.jquery.com/cookie/ (在实际中可以用这个保存cookie保存用户的习惯,比如换肤,保存用户名,保存密码,自动登录....等很实用的功能) jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. <script type="text/javascript" src="js/

记住密码功能 JS结合JQuery 操作 Cookie 实现记住密码和用户名!

// 记住密码功能 JS结合JQuery 操作 Cookie 实现记住密码和用户名! var username = document.getElementById("username"); var password = document.getElementById("password"); var date=new Date(); var expiresDays=1000; //过期时间. date.setTime(date.getTime()+expiresDa

Jquery操作Cookie,保存商品ID值至本地文件中

1.什么是Cookie? cookie 小甜饼?呵呵! 想吃了吧!Cookie就是服务器存本地的一个文件,可以在服务器上创建,也可以在客户端创建.主要是用来存储用户的一些记录,比如浏览过的商品等.目前Cookies 最广泛的是记录用户登录信息,这样下次访问时可以不需要输入自己的用户名.密码了--当然这种方便也存在用户信息泄密的问题,尤其在多个用户共用一台电脑时很容易出现这样的问题. 说就真心话,Cookie不安全!使用者慎重!央视3.15已经有报道过相关信息,很多不好商家,第三方网站上植入带有获

基于jQuery或Zepto实现实时监控用户浏览信息

对于一些大型公司,想要有一些监控用户行为的分析,怎么办? 比如一个场景,A公司想要监控用户浏览当前屏幕有哪些数据怎么办? 那么就用到本文所提的监控解决方案了: 1.首先要监控用户到底在该屏停留了多久: 2.基于1确定用户是停留在了本页面而没有滑动手机屏幕: 3.在用户未达到条件后的callback机制. 基于以上的问题,我们可以想到时间分片 1 /* This is a expose advertisements component. 2 * Base on some class librari

jquery操作cookie {分享}

web开发过程中如果网站有一部分信息是存储在cookie中并与服务器交互的话,那么前台有时就会遇到需要对cookie中信息进行操作的情况,一个最典型的例子就是在前台判断用户是否登录过当前所访问的网站. 可以用js原生的代码操作cookie,不过对于已经习惯在前台使用jquery的人员来说,最好能有一种直接扩展到jquery实例对象中的方法来统一操作风格,这里记录一个个人感觉还算简洁的方案. $.extend({ cookie : function(name, val) { if (!val) {

jQuery插件SlickGrid --- 保存用户的列定义

数据库表定义的话大概是这样的 表 t_usersetting id  varchar2(50)  PK userid varchar2(50) pageid varchar2(50) 表t_slickgridcolumndefinition id  varchar2(50)  PK columnid varchar2(50) columnwidth  NUMBER(3) columnshow  char(1) usersettingid  varchar2(50)  FK JSP代码 1 <%@

jQuery操作cookie

第一步:下载操作cookie的js. 地址:http://yunpan.cn/c3e3MStM3xh3i  访问密码 41ec 第二步:引入操作cookie的js. <script type="text/javascript" src="../js/lib/jquery.cookie.js"></script> 第三步:使用API进行操作 1.新添加一个会话 cookie $.cookie('the_cookie', 'the_value')