zoukankan      html  css  js  c++  java
  • js jquery 设置cookie

    转自http://yaoqianglilan.blog.163.com/blog/static/70978316201091810435251/

    本人亲测setcookie() getcookie()非常好用,其它待测试

     

    1.js设置cookie

    //set cookie   
          
    function setcookie(name,value){   
        var Days = 30;   
        var exp  = new Date();   
        exp.setTime(exp.getTime() + Days*24*60*60*1000);   
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();   
    }   
      
    function getcookie(name){   
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));    
        if(arr != null){   
            return unescape(arr[2]);   
        }else{   
            return "";   
        }   
    }   
      
    function delcookie(name){   
        var exp = new Date();    
        exp.setTime(exp.getTime() - 1);   
        var cval=getCookie(name);   
        if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();   
    }   
      
    //delcookie("GD-cms");   
    if (document.cookie != "") {    
        setcookie("GD-cms", "gae-django-cms");   
    }   
    alert(getcookie("GD-cms"));
    2.jquery设置cookie 是封装到一个方法里面的 直接调用 跟php 差不多 取 设置 或者 删除

    jQuery.cookie = function(name, value, options) {
        
    if (typeof value != 'undefined') { // name and value given, set cookie
            options = options || {};
            
    if (value === null) {
                value 
    = '';
                options 
    = $.extend({}, options); // clone object since it's unexpected behavior if the expired property were changed
                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
            }
            
    // NOTE Needed to parenthesize options.path and options.domain
            // in the following expressions, otherwise they evaluate to undefined
            // in the packed version for some reason...
            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;
        }

    };

    使用方法
    jQuery操作cookie的插件,大概的使用方法如下
    $.cookie('the_cookie'); //读取Cookie值
    $.cookie('the_cookie', 'the_value'); //设置cookie的值
    $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});//新建一个cookie 包括有效期 路径 域名等
    $.cookie('the_cookie', 'the_value'); //新建cookie
    $.cookie('the_cookie', null); //删除一个cookie

    设置一个名称为blog,值为css9.net的cookie:

    $.cookie("blog", "css9.net");

    设置一个名称为blog,值为css9.net的cookie,同时设置过期时间(expires属性)为7天:

    $.cookie("blog", "css9.net", { expires: 7 });

    设置一个名称为blog,值为css9.net的cookie,设置过期时间(expires属性)为7天,同时设置cookie的path属性为”/admin”

    $.cookie("blog", "css9.net", { path: '/admin', expires: 7 });

    读取Cookie:

    读取名称为blog的cookie值:

    alert( $.cookie("blog") );

    删除cookie:

    $.cookie("example", null);

    如果你使用了jquery插件 建议 用jquery自带的 如果 没有 就不必为了设置cookie 引入jquery了 毕竟 插件加载还是比较大的

  • 相关阅读:
    qemu-img压缩磁盘操作
    qemu-img压缩磁盘操作
    qemu-img压缩磁盘操作
    qemu-img压缩磁盘操作
    单文件组件
    单文件组件
    单文件组件
    单文件组件
    最适合人工智能开发的5种编程语言优缺点对比
    浅谈WebService开发(一)
  • 原文地址:https://www.cnblogs.com/zhaoyang-1989/p/3679094.html
Copyright © 2011-2022 走看看