·您当前的位置:主页 > 技术教程 > jQuery教程 >

[jQuery]jquery读cookie源代码

时间:2014-10-29 09:46酷播
[jQuery]jquery读cookie源代码

[jQuery]jquery读cookie

  1. /*! 
  2.  * jQuery Cookie Plugin 
  3.  * https://github.com/carhartl/jquery-cookie 
  4.  * 
  5.  * Copyright 2011, Klaus Hartl 
  6.  * Dual licensed under the MIT or GPL Version 2 licenses. 
  7.  * http://www.opensource.org/licenses/mit-license.php 
  8.  * http://www.opensource.org/licenses/GPL-2.0 
  9.  */ 
  10.    
  11. /*①、Create expiring cookie, 7 days from then:*/ 
  12. //$.cookie('the_cookie', 'the_value', { expires: 7 }); 
  13. /*②、Read cookie:*/ 
  14. //$.cookie('the_cookie'); // => 'the_value' or Null 
  15. /*③、Delete cookie by passing null as value:*/ 
  16. //$.cookie('the_cookie', null); 
  17.   
  18.               
  19. (function($) { 
  20.     $.cookie = function(key, value, options) { 
  21.   
  22.         // key and at least value given, set cookie... 
  23.         if (arguments.length > 1 && (!/Object/.test(Object.prototype.toString.call(value)) || value === null || value === undefined)) { 
  24.             options = $.extend({}, options); 
  25.   
  26.             if (value === null || value === undefined) { 
  27.                 options.expires = -1; 
  28.             } 
  29.   
  30.             if (typeof options.expires === 'number') { 
  31.                 var days = options.expires, t = options.expires = new Date(); 
  32.                 t.setDate(t.getDate() + days); 
  33.             } 
  34.   
  35.             value = String(value); 
  36.   
  37.             return (document.cookie = [ 
  38.                 encodeURIComponent(key), '=', options.raw ? value : encodeURIComponent(value), 
  39.                 options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 
  40.                 options.path    ? '; path=' + options.path : '', 
  41.                 options.domain  ? '; domain=' + options.domain : '', 
  42.                 options.secure  ? '; secure' : '' 
  43.             ].join('')); 
  44.         } 
  45.   
  46.         // key and possibly options given, get cookie... 
  47.         options = value || {}; 
  48.         var decode = options.raw ? function(s) { return s; } : decodeURIComponent; 
  49.   
  50.         var pairs = document.cookie.split('; '); 
  51.         for (var i = 0, pair; pair = pairs[i] && pairs[i].split('='); i++) { 
  52.             if (decode(pair[0]) === key) return decode(pair[1] || ''); // IE saves cookies with empty string as "c; ", e.g. without "=" as opposed to EOMB, thus pair[1] may be undefined 
  53.         } 
  54.         return null; 
  55.     }; 
  56. })(jQuery); 

 

热门文章推荐

请稍候...