jquery.cookie.js的介绍与使用方法


Posted in Javascript onFebruary 09, 2017

什么是 cookie?

cookie 就是页面用来保存信息,比如自动登录、记住用户名等等。

cookie 的特点

  1. 同个网站中所有的页面共享一套 cookie
  2. cookie 有数量、大小限制
  3. cookie 有过期时间jquery.cookie.js 是一款轻量级的 cookie 插件,可以读取,写入和删除 cookie。本文主要针对

jquery.cookie.js 的用法进行详细的介绍。

jquery.cookie.js 使用方法

Cookies

定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术;

下载与引入:jquery.cookie.js基于jquery;先引入jquery,再引入:jquery.cookie.js;

下载:http://plugins.jquery.com/cookie/

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>

使用:

1.添加一个"会话cookie"

$.cookie('the_cookie', 'the_value');

这里没有指明 cookie有效时间,所创建的cookie有效期默认到用户关闭浏览器为止,所以被称为 “会话cookie(session cookie)”。

2.创建一个cookie并设置有效时间为 7天

$.cookie('the_cookie', 'the_value', { expires: 7 });

这里指明了cookie有效时间,所创建的cookie被称为“持久 cookie (persistent cookie)”。注意单位是:天;

3.创建一个cookie并设置 cookie的有效路径

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突)。

4.读取cookie

$.cookie('the_cookie');

5.删除cookie

$.cookie('the_cookie', null);   //通过传递null作为cookie的值即可

6.可选参数

$.cookie('the_cookie','the_value',{
  expires:7, 
  path:'/',
  domain:'jquery.com',
  secure:true
}) 

expires:(Number|Date)有效期;设置一个整数时,单位是天;也可以设置一个日期对象作为Cookie的过期日期;
path:(String)创建该Cookie的页面路径;
domain:(String)创建该Cookie的页面域名;
secure:(Booblean)如果设为true,那么此Cookie的传输会要求一个安全协议,例如:HTTPS;

使用方法:

设置 cookie:

$.cookie('the_cookie', 'the_value');

注:如果 $.cookie 没有第三个参数,那么当浏览器关闭时,该 cookie 将会自动删除。

设置一个有效期为 7 天的 cookie:

$.cookie('the_cookie', 'the_value', {expires: 7});

注:$.cookie 第三个参数是一个对象,除了可以设置有效期(expires: 7),还可以设置有效路径(path: '/')、有效域(domain: 'jquery.com')及安全性(secure: true)。

读取 cookie:

$.cookie('the_cookie');

注:如果没有该 cookie,返回 null。

删除 cookie:

$.cookie('the_cookie', null);

我们只需要给需要删除的 cookie 设置为 null,就可以删除该 cookie。

最后附上源代码:

/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 * used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *    If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *    If set to null or omitted, the cookie will be a session cookie and will not be retained
 *    when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *   require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
 if (typeof value != 'undefined') { // name and value given, set cookie
 options = options || {};
 if (value === null) {
  value = '';
  options = $.extend({}, options); // clone object since it's unexpected behavior if the expired property were changed
  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
 }
 // NOTE Needed to parenthesize options.path and options.domain
 // in the following expressions, otherwise they evaluate to undefined
 // in the packed version for some reason...
 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;
 }
};

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
按钮JS复制文本框和表格的代码
Apr 01 Javascript
Jquery实现的一种常用高亮效果示例代码
Jan 28 Javascript
javascript得到当前页的来路即前一页地址的方法
Feb 18 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
Apr 04 Javascript
jquery获取radio值实例
Oct 16 Javascript
JavaScript中的类数组对象介绍
Dec 30 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
vue使用stompjs实现mqtt消息推送通知
Jun 22 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
js布局实现单选按钮控件
Jan 17 Javascript
一篇文章带你从零快速上手Rollup
Sep 07 Javascript
js 数据存储和DOM编程
Feb 09 #Javascript
超全面的javascript中变量命名规则
Feb 09 #Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
Feb 09 #Javascript
bootstrapValidator.min.js表单验证插件
Feb 09 #Javascript
js 原型对象和原型链理解
Feb 09 #Javascript
AngularJs表单校验功能实例代码
Feb 09 #Javascript
javascript 显示全局变量与隐式全局变量的区别
Feb 09 #Javascript
You might like
php获取网页内容方法总结
2008/12/04 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
PHP以及MYSQL日期比较方法
2012/11/29 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
php session_decode函数用法讲解
2019/05/26 PHP
页面版文本框智能提示JS代码
2009/11/20 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
python代码实现ID3决策树算法
2017/12/20 Python
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
简单了解python元组tuple相关原理
2019/12/02 Python
使用Python实现批量ping操作方法
2020/05/06 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
海外淘书首选:AbeBooks
2017/07/31 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
什么是继承
2013/12/07 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
爱心倡议书范文
2014/05/12 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
学期个人工作总结
2015/02/13 职场文书
导游词之台湾安平古堡
2019/12/25 职场文书
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python