关于cookie的初识和运用(js和jq)
来源: 阅读:593 次 日期:2016-07-08 14:19:19
温馨提示: 小编为您整理了“关于cookie的初识和运用(js和jq)”,方便广大网友查阅!

下面小编就为大家带来一篇关于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官网http://plugins.jquery.com/搜索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)就是小编分享给大家的全部内容了,希望能给大家一个参考

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map