- 第1节:jQuery 简介
- 第2节:jQuery 安装
- 第3节:jQuery 语法
- 第4节:jQuery 选择器
- 第5节:jQuery 事件
- 第6节:jQuery 效果 – 隐藏和显示
- 第7节:jQuery 效果 – 淡入淡出
- 第8节:jQuery 效果 – 滑动
- 第9节:jQuery 效果 – 动画
- 第10节:jQuery 效果 – 停止动画
- 第11节:jQuery Callback 方法
- 第12节:jQuery Chaining
- 第13节:jQuery 获取
- 第14节:jQuery 设置
- 第15节:jQuery 添加元素
- 第16节:jQuery 删除元素
- 第17节:jQuery CSS 类
- 第18节:jQuery css() 方法
- 第19节:jQuery 尺寸
- 第20节:jQuery 遍历
- 第21节:jQuery 遍历 – 祖先
- 第22节:jQuery 遍历 – 后代
- 第23节:jQuery 遍历 – 同胞(siblings)
- 第24节:jQuery 遍历 – 过滤
- 第25节:jQuery 选择器
- 第26节:jQuery 事件方法
- 第27节:jQuery 效果方法
- 第28节:jQuery HTML / CSS 方法
- 第29节:jQuery 遍历方法
- 第30节:jQuery AJAX 方法
- 第31节:jQuery 杂项方法
- 第32节:jQuery 属性
- 第33节:jQuery Validate插件(表单验证)
- 第34节:jQuery Accordion插件(折叠菜单)
- 第35节:jQuery Cookie 插件
- 第36节:jQuery Autocomplete插件(自动补齐)
- 第37节:jQuery Growl 插件(消息提醒)
- 第38节:jQuery Password Validation(密码验证)
- 第39节:jQuery Prettydate
- 第40节:jQuery Tooltip
- 第41节:jQuery Treeview
jQuery Cookie 插件
jQuery 可以通过 jquery.cookie.js 插件来操作 Cookie。
官方地址:http://plugins.jquery.com/cookie/
Github 地址:https://github.com/carhartl/jquery-cookie
使用 jquery.cookie.js 之前需要先引入 jQuery:
<script src="/path/to/jquery.min.js"></script>
<script src="/path/to/jquery.cookie.js"></script>
我们可以使用第三方资源库引入这两个文件:
<script src="https://cdn.staticfile.org/jquery/3.4.0/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
使用方法
创建 cookie:
$.cookie('name', 'value');
如果未指定过期时间,则会在关闭浏览器或过期。
创建 cookie,并设置 7 天后过期:
$.cookie('name', 'value', { expires: 7 });
创建 cookie,并设置 cookie 的有效路径,路径为网站的根目录:
$.cookie('name', 'value', { expires: 7, path: '/' });
注:在默认情况下,只有设置 cookie 的网页才能读取该 cookie。如果想让一个页面读取另一个页面设 置的cookie,必须设置 cookie 的路径。cookie 的路径用于设置能够读取 cookie 的顶级目录。将这 个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突)。
读取 cookie:
$.cookie('name'); // => "value"
$.cookie('nothing'); // => undefined
读取所有的 cookie 信息:
$.cookie(); // => { "name": "value" }
删除 cookie:
// cookie 删除成功返回 true,否则返回 false
$.removeCookie('name'); // => true
$.removeCookie('nothing'); // => false
// 写入使用了 path时,读取也需要使用相同的属性 (path, domain)
$.cookie('name', 'value', { path: '/' });
// 以下代码【删除失败】
$.removeCookie('name'); // => false
// 以下代码【删除成功】
$.removeCookie('name', { path: '/' }); // => true
注意:删除 cookie 时,必须传递用于设置 cookie 的完全相同的路径,域及安全选项。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script src="https://cdn.staticfile.org/jquery/3.4.0/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script>
$(document).ready(function(){
$.cookie('name', 'test'); // 创建 cookie
name = $.cookie('name'); // 读取 cookie
$("#test").text(name);
$.cookie('name2', 'test2', { expires: 7, path: '/' });
name2 = $.cookie('name2');
$("#test2").text(name2);
});
</script>
</head>
<body>
<p id="test"></p>
<p id="test2"></p>
</body>
</html>
参数说明
raw
默认值:false。
默认情况下,读取和写入 cookie 的时候自动进行编码和解码(使用 encodeURIComponent 编码,decodeURIComponent 解码)。要关闭这个功能设置 raw:true 即可:
$.cookie.raw = true;
json
设置 cookie 的数据使用 json 存储与读取,这时就不需要使用 JSON.stringify 和 JSON.parse 了。
$.cookie.json = true;
expires
expires: 365
定义 cookie 的有效时间,值可以是一个数字(从创建 cookie 时算起,以天为单位)或一个 Date 对象。如果省略,那么创建的 cookie 是会话 cookie,将在用户退出浏览器时被删除。
path
path: '/'
默认情况:只有设置 cookie 的网页才能读取该 cookie。
定义 cookie 的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为)。
如果你想在整个网站中访问这个 cookie 需要这样设置有效路径:path: '/'。如果你想删除一个定义了有效路径的 cookie,你需要在调用函数时包含这个路径:
$.cookie('the_cookie', null,{ path: '/' });
domain
domain: 'example.com'
默认值:创建 cookie 的网页所拥有的域名。
secure
secure: true
默认值:false。如果为 true,cookie 的传输需要使用安全协议(HTTPS)。