Cookie 是由 Web 服务器保存在用户浏览器上的小文本文件,它包含有关用户的本地终端上的数据。
jQuery提供了一个十分简单的插件(名称也是Cookie)来管理网站的Cookie。
下载地址:http://github.com/carhartl/jquery-cookie
例子: 当在用户名字段填写用户名后,单击下面的“记住用户名”复选框后,再次打开这个页面,发现用户名字段上已经被自动赋值(之前所填写的用户名)
05 | <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> |
06 | <script src= "../../scripts/jquery.js" type = "text/javascript" ></script> |
07 | <script src= "js/jquery.cookie.js" type = "text/javascript" ></script> |
08 | <script type = "text/javascript" > |
10 | var COOKIE_NAME = 'username' ; |
11 | if ( $.cookie(COOKIE_NAME) ){ |
12 | $( "#username" ).val( $.cookie(COOKIE_NAME) ); |
14 | $( "#check" ).click( function (){ |
16 | $.cookie(COOKIE_NAME, $( "#username" ).val() , { path: '/' , expires: 10 }); |
18 | $.cookie(COOKIE_NAME, null, { path: '/' }); |
27 | 用户名:<input type = "text" name= "username" id = "username" /> <br/> |
28 | <input type = "checkbox" name= "check" id = "check" />记住用户名 |
|

调试:
使用chrome调试,发现无法实现效果
尝试获取cookie文件也失效

原因:
chrome不支持js在本地操作cookie。据测试,除了chrome浏览器外,其他主流浏览器(ie、firefox等)都支持js在本地操作cookie。当然部署到服务器上所有浏览器都是支持的。
扩展:
操作cookie失效还有一个原因:浏览器设置成不支持Cookie。
可以通过以下代码测试浏览器是否支持Cookie或者Cookie是否被禁用?
02 | dt.setSeconds(dt.getSeconds() + 60); |
03 | document.cookie = "cookietest=1; expires=" + dt.toGMTString(); |
04 | var cookiesEnabled = document.cookie.indexOf( "cookietest=" ) != -1; |
|
经测试,chrome的确没有启用Cookie,因此上述例子达不到效果
发表评论
评论列表(0条)