jquery.cookie中的操作

转载:https://www.cnblogs.com/crazy-fox/archive/2012/01/08/2316499.html
转载:http://www.jb51.net/article/44561.htm

jquery.cookie中的操作:

jquery.cookie.js是一个基于jquery的插件。

创建一个会话cookie:

$.cookie(‘cookieName’,'cookieValue’);

注:当没有指明cookie时间时,所创建的cookie有效期默认到用户浏览器关闭止,故被称为会话cookie。

创建一个持久cookie:

$.cookie(‘cookieName’,'cookieValue’,{expires:7});

expires(number|date):有效期,单位:天。也可以设置一个日期作为过期日期。如果指定日期为负数,cookie将被删除。如果不设置或设置为null,那么cookie将会被当作session cookie处理,并且在浏览器关闭后删除。

创建一个持久并带有效路径的cookie:

$.cookie(‘cookieName’,'cookieValue’,{expires:7,path:’/'});

path 用于设置能够读取cookie的顶级目录。

1、如果不设置有效路径,在默认情况下,只能在cookie设置当前页面读取该cookie。

 2 path:’/'  表示根目录有效,即整个网站的所有页面都可以读取这个cookie。

(为防止出现冲突一般要这样设置,但如果想让一个页面读取另一个页面设置的cookie,这是一种解决方案)。

例如:在同一个服务器上有目录如下:/test/, /test/cd/, /test/dd/,现设一个cookie1的path为/test/,cookie2的path为/test/cd/,那么test下的所有页面都可以访问到cookie1,而/test/和/test/dd/的子页面不能访问cookie2。这是因为cookie能让其path路径下的页面访问。

创建一个持久并带有效路径和域名的cookie:

$.cookie(‘cookieName’,'cookieValue’,{expires:7,path:’/',domain: ‘chuhoo.com’,secure: false,raw:false});

注:domain:创建cookie所在网页所拥有的域名;secure:默认是false,如果为true,cookie的传输协议需为https;

raw:默认为false,读取和写入时候自动进行编码和解码(使用encodeURIComponent编码,使用decodeURIComponent解码),关闭这个功能,请设置为true。

例如:网址为www.jb51.net/test/test.aspx,那么domain默认为www.jb51.net。而跨域访问,如域A为t1.test.com,域B为t2.test.com,那么在域A生产一个令域A和域B都能访问的cookie就要将该cookie的domain设置为.test.com;如果要在域A生产一个令域A不能访问而域B能访问的cookie就要将该cookie的domain设置为t2.test.com。

获取cookie:

$.cookie(‘cookieName’);   //如果存在则返回cookieValue,否则返回null。

删除cookie:

$.cookie(‘cookieName’,null);

注:

1如果想删除一个带有效路径的cookie,如下:$.cookie(‘cookieName’,null,{path:’/'});

2要与之前设置的path和domain相同,只有路径和域名和之前保持一致才能正确删除。

 

 

 

posted @ 2017-12-11 11:24  hao_1234_1234  阅读(198)  评论(0编辑  收藏  举报