关于cookie的初识和运用(js和jq)
cookie是什么
---------------------------------------------------
cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给javascript。可以由javascript对其进行控制,而并不是javascript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。
cookie使用场合
---------------------------------------------------
(1)保存用户登录状态。例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供这样的功能。 cookie还可以设置过期时间,当超过时间期限后,cookie就会自动消失。因此,系统往往可以提示用户保持登录状态的时间:常见选项有一个月、三个 月、一年等。
(2)跟踪用户行为。例如一个天气预报网站,能够根据用户选择的地区显示当地的天气情况。如果每次都需要选择所在地是烦琐的,当利用了 cookie后就会显得很人性化了,系统能够记住上一次访问的地区,当下次再打开该页面时,它就会自动显示上次用户所在地区的天气情况。因为一切都是在后 台完成,所以这样的页面就像为某个用户所定制的一样,使用起来非常方便。
(3)定制页面。如果网站提供了换肤或更换布局的功能,那么可以使用cookie来记录用户的选项,例如:背景色、分辨率等。当用户下次访问时,仍然可以保存上一次访问的界面风格。
cookie的用法
---------------------------------------------------
js方式:
function setcookie(sname, svalue, oexpires, spath, sdomain, bsecure) { //js设置cookie var scookie = sname + '=' + encodeuricomponent(svalue); if (oexpires) { var date = new date(); date.settime(date.gettime() + oexpires * 60 * 60 * 1000); scookie += '; expires=' + date.toutcstring(); } if (spath) { scookie += '; path=' + spath; if (sdomain) { scookie += '; domain=' + sdomain; } if (bsecure) { scookie += '; secure'; } document.cookie = scookie; }
function getcookie(name){ //获取cookie var strcookie=document.cookie; var arrcookie=strcookie.split("; "); for(var i=0;i<arrcookie.length;i++){ var arr=arrcookie[i].split("="); if(arr[0]==name){ return decodeuricomponent(arr[1]); } } return ""; }
function delcookie(name){//删除cookie // 该函数检查下cookie是否设置,如果设置了则将过期时间调到过去的时间; //剩下就交给操作系统适当时间清理cookie啦 if (getcookie(name)) { document.cookie = name + "=" + "; expires=thu, 01-jan-70 00:00:01 gmt"; } }
jq插件方式:
jq官网搜索cookie插件,几k的大小,使用非常方便:
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>
在引入以上库文件后,使用方式如下:
<script> $.cookie('the_cookie'); //读取cookie值 $.cookie('the_cookie', 'the_value'); //设置cookie的值 $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});//新建一个cookie 包括有效期 路径 域名等 $.cookie('the_cookie', 'the_value'); //新建cookie $.cookie('the_cookie', null); //删除一个cookie </script>
以上这篇关于cookie的初识和运用(js和jq)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: javascript中this指向详解