您好,登录后才能下订单哦!
小编给大家分享一下关于Jquery中cookie插件实现原理的案例分析,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
Cookie 是由 Web 服务器保存在用户浏览器上的小文本文件,它包含有关用户的本地终端上的数据。
jQuery提供了一个十分简单的插件(名称也是Cookie)来管理网站的Cookie。
下载地址:http://github.com/carhartl/jquery-cookie
例子: 当在用户名字段填写用户名后,单击下面的“记住用户名”复选框后,再次打开这个页面,发现用户名字段上已经被自动赋值(之前所填写的用户名)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="../../scripts/jquery.js" type="text/javascript"></script> <script src="js/jquery.cookie.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { var COOKIE_NAME = 'username'; if( $.cookie(COOKIE_NAME) ){ $("#username").val( $.cookie(COOKIE_NAME) ); } $("#check").click(function(){ if(this.checked){ $.cookie(COOKIE_NAME, $("#username").val() , { path: '/', expires: 10 }); }else{ $.cookie(COOKIE_NAME, null, { path: '/' }); } }); }); </script> </head> <body> 用户名:<input type="text" name="username" id="username" /> <br/> <input type="checkbox" name="check" id="check"/>记住用户名 </body> </html>
调试:
使用chrome调试,发现无法实现效果
尝试获取cookie文件也失效
原因:
chrome不支持js在本地操作cookie。据测试,除了chrome浏览器外,其他主流浏览器(ie、firefox等)都支持js在本地操作cookie。当然部署到服务器上所有浏览器都是支持的。
扩展:
操作cookie失效还有一个原因:浏览器设置成不支持Cookie。
可以通过以下代码测试浏览器是否支持Cookie或者Cookie是否被禁用?
var dt = new Date(); dt.setSeconds(dt.getSeconds() + 60); document.cookie = "cookietest=1; expires=" + dt.toGMTString(); var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1; if(!cookiesEnabled) { //没有启用cookie alert("没有启用cookie "); } else{ //已经启用cookie alert("已经启用cookie "); }
经测试,chrome的确没有启用Cookie,因此上述例子达不到效果
看完了这篇文章,相信你对关于Jquery中cookie插件实现原理的案例分析有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。