jquery cookie 插件

jquery 可以『 kě yǐ』通过 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 的顶级目录。将这 个路径设置为网站的根目录,可以让所有『suǒ yǒu』网页都能互相读取 cookie (一般不要这样设置,防止出现冲突『conflict』)。

读取 cookie:

$.cookie('name'); //=> "value"
$.cookie('nothing'); //=> undefined

读取所有『suǒ yǒu』的 cookie 信息:

$.cookie(); //=> { "name": "value" }

删除 cookie:

// cookie 删除成功返回 true,否则返回 false$.removecookie('name'); //=> true$.removecookiejs随机数('nothing'); //=> false// 写入使用了 path时,读取也需要使用相同的属性 (path, domain) $.cookie('name', 'value', { path: '/' });// 以下代码正常删除$.removecookie('name'); //=> false// 以下代码正常失败$.removecookie('name', { path: '/' }); //=> true

注意:删除 cookie 时,必须传递用于设置 cookie 的完全『completely』相同的路径,域及安全『safest』选项。

实例

$(document).ready(function(){$.cookie('name', 'runoob'); // 创建 cookiename=$.cookie('name'); // 读取 cookie$("#test").text(name);$.cookie('name2', 'runoob2', { expires: 7, path: '/' });name2=$.
柯文哲今日在脸书表示,东园国小少棒队是北市历史最悠久的少棒队,已成立『was founded』72年,上一次夺下世界『shì jiè』冠军是民国61年;相隔40多年后,终于再一次进军世界『shì jiè』少棒锦标赛
毛嘉庆也说,这是对话被拿出来炒作,还刻意将时间错置,未来愿意在任何政论节目上与王时齐针对此事对质
莫理斯说,自己『zì jǐ』虽然只在古巴待了将近5个月,但是却是人生中最美好的时光之一,
柯P在受访时笑说,其实是趁机回来看父母『Parental』,中午会回家吃饭;但记者『jì zhě』提到今日是妻子陈佩琪生日?他则愣了一下
半个世纪前,看着美国国旗缓缓降下,心里头想着,是不是哪里搞错了?能够再度『 dù』看到国旗在古巴升起,对我来说意义非凡
所幸警方迅速攻坚破获,集团成员连证物都还来不及消灭,就赶紧从后方农田逃跑,但还是被警方包围,只能束手就擒
于是2000年后,找老农当人头来滥盖农舍,顿时风行草偃,而政府居然拖了13年才发现,迟至2013年才亡羊补牢增订一款条文,规定所有曾经申请盖过农舍的人,五年内不得再二次申请农舍,延缓了老农盖农舍的频率,才让这股歪风平息
北区工作队成员、政治大学广告系学生『students』刘子华分享,工作队包含15天受训、30天出队,总共去了11间学校『xué xiào』,每间约服务『fú wù』30至40位小朋友,从升小一到升小六都有,一间学校『xué xiào』服务『fú wù』3天,依照学校需求调整授课内容
cookie('name2');$("#test2").text(name2);});

尝试一下

执行完后,我们可以在浏览器中查看 cookie 信息,如下图所示:


参数说明

raw

默认值:false。

默认情况下,读取和写入 cookie 的时候『shí hou』自动进行编码和解码(使用 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 的网页所在路径(标准浏览器的行为)。

如果你想在整个网站中访问『fǎng wèn』这个 cookie 需要这样设置有效路径:path: '/'。如果你想删除一个定义了有效路径的 cookie,你需要在调用函数时包含这个路径:

$.cookie('the_cookie', null,{ path: '/' });

domain

domain: 'example.com'

默认值:创建 cookie 的网页所拥有的域名。

secure

secure: true

默认值:false。如果为 true,cookie 的传输需要使用安全『safest』协议(https)。