关于cookie的初识和运用(js和jq)


Posted in Javascript onApril 07, 2016

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)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS学习之一个简易的日历控件
Mar 24 Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
Apr 09 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
Nov 10 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
May 07 Javascript
使用jQuery UI库开发Web界面的简单入门指引
Apr 22 Javascript
AngularJS  自定义指令详解及实例代码
Sep 14 Javascript
react-router v4如何使用history控制路由跳转详解
Jan 09 Javascript
Vue的轮播图组件实现方法
Mar 03 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
May 04 Javascript
关于node-bindings无法在Electron中使用的解决办法
Dec 18 Javascript
使用webpack搭建vue项目及注意事项
Jun 10 Javascript
vue select 获取value和lable操作
Aug 28 Javascript
纯js实现瀑布流布局及ajax动态新增数据
Apr 07 #Javascript
原生JavaScript实现Ajax的方法
Apr 07 #Javascript
JavaScript数据推送Comet技术详解
Apr 07 #Javascript
js实现商品抛物线加入购物车特效
Nov 18 #Javascript
js类式继承与原型式继承详解
Apr 07 #Javascript
javascript原型继承工作原理和实例详解
Apr 07 #Javascript
浅析JS原型继承与类的继承
Apr 07 #Javascript
You might like
PHP安全配置
2006/12/06 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
Javascript倒计时代码
2010/08/12 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
vue把输入框的内容添加到页面的实例讲解
2019/11/11 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
我就是这样学习Python中的列表
2019/06/02 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
你对IPv6了解程度
2016/02/09 面试题
计算机求职信
2013/12/01 职场文书
项目总经理岗位职责
2014/02/14 职场文书
保险公司早会主持词
2014/03/22 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
婚前协议书
2014/04/15 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python
Python常遇到的错误和异常
2021/11/02 Python
JavaScript 对象创建的3种方法
2021/11/17 Javascript