zoukankan      html  css  js  c++  java
  • jquery cookie用法

    jquery cookie用法(获取cookie值,删除cookie)

    cookie在jquery中有指定的cookie操作类,下面我先来介绍我们在使用cookie操作类时的一些问题,然后介绍正确的使用方法。使用JQuery操作cookie时 发生取的值不正确的问题:结果发现cookie有四个不同的属性: 名

    cookie在jquery中有指定的cookie操作类,下面我先来介绍我们在使用cookie操作类时的一些问题,然后介绍正确的使用方法。

    使用JQuery操作cookie时 发生取的值不正确的问题:

    结果发现cookie有四个不同的属性:
    名称,内容,域,路径

    $.cookie('the_cookie'); // 读取 cookie
    $.cookie('the_cookie', 'the_value'); // 存储 cookie
    $.cookie('the_cookie', 'the_value', { expires: 7 }); // 存储一个带7天期限的 cookie
    $.cookie('the_cookie', '', { expires: -1 }); // 删除 cookie

    使用:

    $.cookie("currentMenuID", menuID); 

    时 未指定域和路径。
    所有当域和路径不同时会产生不同的cookie

    $.cookie("currentMenuID"); 

    取值时会产生问题。

    故:

    $.cookie("currentMenuID", "menuID", { path: "/"}); 

    进行覆盖。同域下同一个cookieID对应一个值。

    下面我们来看个实例

    关于cookie的path设置需要注意,如果不设置path:'/'的话,path则会根据目录自动设置[如:http://www.xxx.com/user/,path会被设置为 '/user']

    $.extend({
     
    /** 
     1. 设置cookie的值,把name变量的值设为value   
    example $.cookie(’name’, ‘value’);
     2.新建一个cookie 包括有效期 路径 域名等
    example $.cookie(’name’, ‘value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true});
    3.新建cookie
    example $.cookie(’name’, ‘value’);
    4.删除一个cookie
    example $.cookie(’name’, null);
    5.取一个cookie(name)值给myvar
    var account= $.cookie('name');
    **/
        cookieHelper: 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;
            }
        }
     
    });
  • 相关阅读:
    ZOJ 2158 Truck History
    Knight Moves (zoj 1091 poj2243)BFS
    poj 1270 Following Orders
    poj 2935 Basic Wall Maze (BFS)
    Holedox Moving (zoj 1361 poj 1324)bfs
    ZOJ 1083 Frame Stacking
    zoj 2193 Window Pains
    hdu1412{A} + {B}
    hdu2031进制转换
    openjudge最长单词
  • 原文地址:https://www.cnblogs.com/weixing/p/5332689.html
Copyright © 2011-2022 走看看