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:’/‘});