Jquery.cookie.js 源码和使用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery.cookie.js 源码和使用方法相关的知识,希望对你有一定的参考价值。

jquery.cookie.js源码和使用方法

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

 

jquery.cookie.js源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/*!
 * jQuery Cookie Plugin v1.3.1
 *
 * Copyright 2013 Klaus Hartl
 * Released under the MIT license
 */
(function (factory) {
    if (typeof define === ‘function‘ && define.amd) {
        // AMD. Register as anonymous module.
        define([‘jquery‘], factory);
    } else {
        // Browser globals.
        factory(jQuery);
    }
}(function ($) {
 
    var pluses = /\+/g;
 
    function raw(s) {
        return s;
    }
 
    function decoded(s) {
        return decodeURIComponent(s.replace(pluses, ‘ ‘));
    }
 
    function converted(s) {
        if (s.indexOf(‘"‘) === 0) {
            // This is a quoted cookie as according to RFC2068, unescape
            s = s.slice(1, -1).replace(/\\"/g, ‘"‘).replace(/\\\\/g, ‘\\‘);
        }
        try {
            return config.json ? JSON.parse(s) : s;
        } catch(er) {}
    }
 
    var config = $.cookie = function (key, value, options) {
 
        // write
        if (value !== undefined) {
            options = $.extend({}, config.defaults, options);
 
            if (typeof options.expires === ‘number‘) {
                var days = options.expires, t = options.expires = new Date();
                t.setDate(t.getDate() + days);
            }
 
            value = config.json ? JSON.stringify(value) : String(value);
 
            return (document.cookie = [
                config.raw ? key : encodeURIComponent(key),
                ‘=‘,
                config.raw ? value : encodeURIComponent(value),
                options.expires ? ‘; expires=‘ + options.expires.toUTCString() : ‘‘, // use expires attribute, max-age is not supported by IE
                options.path    ? ‘; path=‘ + options.path : ‘‘,
                options.domain  ? ‘; domain=‘ + options.domain : ‘‘,
                options.secure  ? ‘; secure‘ : ‘‘
            ].join(‘‘));
        }
 
        // read
        var decode = config.raw ? raw : decoded;
        var cookies = document.cookie.split(‘; ‘);
        var result = key ? undefined : {};
        for (var i = 0, l = cookies.length; i < l; i++) {
            var parts = cookies[i].split(‘=‘);
            var name = decode(parts.shift());
            var cookie = decode(parts.join(‘=‘));
 
            if (key && key === name) {
                result = converted(cookie);
                break;
            }
 
            if (!key) {
                result[name] = converted(cookie);
            }
        }
 
        return result;
    };
 
    config.defaults = {};
 
    $.removeCookie = function (key, options) {
        if ($.cookie(key) !== undefined) {
            $.cookie(key, ‘‘, $.extend(options, { expires: -1 }));
            return true;
        }
        return false;
    };
 
}));

本条目发布于2013 年 3 月 27 日。属于前端开发分类。

以上是关于Jquery.cookie.js 源码和使用方法的主要内容,如果未能解决你的问题,请参考以下文章

怎样使用jquery里的cookie

jQuery.cookie.js插件了解及使用方法

jquery.cookie.js 使用方法

Jquery.cookie.js插件:$.cookie方法的使用

jquery.cookie 使用方法

jQuery插件之Cookie插件使用方法~