jQuery中cookie插件用法实例分析


Posted in Javascript onDecember 04, 2015

本文实例讲述了jQuery中cookie插件用法。分享给大家供大家参考,具体如下:

Jquery里面提供了很多插件,方便,安全,快速实用。这节一起熟悉下JQUERY中操作Cookie的插件,插件名称为jquery.cookie.js,可以去官方网站下载。

下载地址: http://plugins.jquery.com/project/cookie.

插件主要报告如下几个用法

1.创建Cookie

创建一个名称为username,值为 admin的cookie ,如下

$.cookie('username',"admin");

当然cookie还包括路径,过期时间等其他参数,一起看下其他参数的用法
$.cookie('username', 'admin', {expires: 7, path: '/', domain: 'jquery.com', secure: true});

expires:表示过期时间,默认为天,如上表示过期时间为7天,如果省略过期时间,表示关闭浏览器时候,cookie将被删除

也可以设置cookie的过期时间,如下设置3分钟后过期

var dt= new date();
dt.settime(date.gettime() + (3* 60 * 1000));
$.cookie('username', 'admin', { expires: dt});

path:定义cookie的有效路径,默认情况下路径为创建cookie网页所在的路径,如果想让整个网站访问到,路径设置为path: '/'

domain:设置cookie所在的域

secure:  如果为true表示cookie的传输需要使用https安全协议,默认为false

2.删除Cookie

可以使用两种方法

$.removeCookie("username");
$.cookie('username',"null");

3.读取cookie

var account = $.cookie('username');

如果没有写入cookie,读取到的值为undefined

附:jquery.cookie.js完整代码如下:

/*!
 * jQuery Cookie Plugin v1.4.1
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2006, 2014 Klaus Hartl
 * Released under the MIT license
 */
(function (factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD (Register as an anonymous module)
    define(['jquery'], factory);
  } else if (typeof exports === 'object') {
    // Node/CommonJS
    module.exports = factory(require('jquery'));
  } else {
    // Browser globals
    factory(jQuery);
  }
}(function ($) {
  var pluses = /\+/g;
  function encode(s) {
    return config.raw ? s : encodeURIComponent(s);
  }
  function decode(s) {
    return config.raw ? s : decodeURIComponent(s);
  }
  function stringifyCookieValue(value) {
    return encode(config.json ? JSON.stringify(value) : String(value));
  }
  function parseCookieValue(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 {
      // Replace server-side written pluses with spaces.
      // If we can't decode the cookie, ignore it, it's unusable.
      // If we can't parse the cookie, ignore it, it's unusable.
      s = decodeURIComponent(s.replace(pluses, ' '));
      return config.json ? JSON.parse(s) : s;
    } catch(e) {}
  }
  function read(s, converter) {
    var value = config.raw ? s : parseCookieValue(s);
    return $.isFunction(converter) ? converter(value) : value;
  }
  var config = $.cookie = function (key, value, options) {
    // Write
    if (arguments.length > 1 && !$.isFunction(value)) {
      options = $.extend({}, config.defaults, options);
      if (typeof options.expires === 'number') {
        var days = options.expires, t = options.expires = new Date();
        t.setMilliseconds(t.getMilliseconds() + days * 864e+5);
      }
      return (document.cookie = [
        encode(key), '=', stringifyCookieValue(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 result = key ? undefined : {},
      // To prevent the for loop in the first place assign an empty array
      // in case there are no cookies at all. Also prevents odd result when
      // calling $.cookie().
      cookies = document.cookie ? document.cookie.split('; ') : [],
      i = 0,
      l = cookies.length;
    for (; i < l; i++) {
      var parts = cookies[i].split('='),
        name = decode(parts.shift()),
        cookie = parts.join('=');
      if (key === name) {
        // If second argument (value) is a function it's a converter...
        result = read(cookie, value);
        break;
      }
      // Prevent storing a cookie that we couldn't decode.
      if (!key && (cookie = read(cookie)) !== undefined) {
        result[name] = cookie;
      }
    }
    return result;
  };
  config.defaults = {};
  $.removeCookie = function (key, options) {
    // Must not alter options, thus extending a fresh object...
    $.cookie(key, '', $.extend({}, options, { expires: -1 }));
    return !$.cookie(key);
  };
}));

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
Jquery提交表单 Form.js官方插件介绍
Mar 01 Javascript
js 连接数据库如何操作数据库中的数据
Nov 23 Javascript
文本框水印提示效果的简单实现代码
Feb 22 Javascript
使用纯javascript实现放大镜效果
Mar 18 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
js倒计时抢购实例
Dec 20 Javascript
原生JavaScript编写canvas版的连连看游戏
May 29 Javascript
浅谈JS中json数据的处理
Jun 30 Javascript
Node.js connect ECONNREFUSED错误解决办法
Sep 15 Javascript
JS日程管理插件FullCalendar中文说明文档
Feb 06 Javascript
footer定位页面底部(代码分享)
Mar 07 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
Dec 06 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
Dec 04 #Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
Dec 04 #Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 #Javascript
给before和after伪元素设置js效果的方法
Dec 04 #Javascript
全面解析Bootstrap手风琴效果
Apr 17 #Javascript
简单对比分析JavaScript中的apply,call与this的使用
Dec 04 #Javascript
详解JavaScript的Date对象(制作简易钟表)
Apr 07 #Javascript
You might like
php curl的深入解析
2013/06/02 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
详细介绍8款超实用JavaScript框架
2013/10/25 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
详解Django框架中的视图级缓存
2015/07/23 Python
python从入门到精通(DAY 3)
2015/12/20 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
详解python中的 is 操作符
2017/12/26 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
用python写扫雷游戏实例代码分享
2018/05/27 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
python实现淘宝购物系统
2019/10/25 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
优秀护士先进事迹
2014/05/08 职场文书
租房协议书样本
2014/08/20 职场文书
售票员岗位职责
2015/02/15 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书