jQuery技术

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

字号+ 作者:H5之家 来源:H5之家 2017-03-06 10:04 我要评论( )

PHP100中文网是国内第一家以PHP资源分享为主的专业网站,也提供了PHP中文交流社区。面向PHP学习研究者提供:最新PHP资讯、原创内容、开源代码和PHP视频教程等相

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

| 时间:2013-09-05 20:25:32 | 阅读数:

[导读] 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:'http://www.php100.com/'的话,path则会根据目录自动设置[如:,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;
        }
    }
 
});

Jquery操作Cookie记录用户查询过信息

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • easyui+thinkphp,前端jquery问题,求大神帮助我!

    easyui+thinkphp,前端jquery问题,求大神帮助我!

    2017-03-06 08:02

  • 代码实现jQuery保存textarea内容到本地

    代码实现jQuery保存textarea内容到本地

    2017-03-01 15:00

  • 对照着jquery来学vue.js系列之配合thinkphp下拉获取分页数据

    对照着jquery来学vue.js系列之配合thinkphp下拉获取分页数据

    2017-02-25 13:00

  • jquery动态移除/增加onclick属性详解

    jquery动态移除/增加onclick属性详解

    2017-02-15 16:00

网友点评
r