关于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 相关文章推荐
JavaScript多线程的实现方法
May 08 Javascript
用AJAX返回HTML片段中的JavaScript脚本
Jan 04 Javascript
js或者jquery判断图片是否加载完成实现代码
Mar 20 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
Feb 04 Javascript
JavaScript中String.prototype用法实例
May 20 Javascript
js实现的黑背景灰色二级导航菜单效果代码
Aug 24 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
Mar 02 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
Apr 22 Javascript
对vue v-if v-else-if v-else 的简单使用详解
Sep 29 Javascript
Layui弹出层 加载 做编辑页面的方法
Sep 16 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+java实现自动新闻滚动窗口
2006/10/09 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
ThinkPHP框架实现数据增删改
2017/05/07 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
网页图片延时加载的js代码
2010/04/22 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
jquery转盘抽奖功能实现
2015/11/13 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
vue绑定的点击事件阻止冒泡的实例
2018/02/08 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
解决python写的windows服务不能启动的问题
2014/04/15 Python
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
对python模块中多个类的用法详解
2019/01/10 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
什么是Python中的匿名函数
2020/06/02 Python
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
2013/07/15 HTML / CSS
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
工艺员岗位职责
2014/02/11 职场文书
新春文艺演出主持词
2014/03/27 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
Vue Element plus使用方法梳理
2022/12/24 Vue.js