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>

最新文章

  1. oracle常用的快捷键
  2. android 入门-Activity及 字体
  3. T-SQL 使用WITH高效分页
  4. 6.3 Android Framework
  5. PostgreSQL与RPM
  6. WCF配置详解
  7. Zabbix监控和分布式部署实施方案
  8. maven的安装,maven库配置和Eclipse插件的安装
  9. 解决Eclipse编译器报错ClassNotFoundException:Org.hibernate.hql.ast.HqlToken
  10. 嵌入式linux的网络编程(1)--TCP/IP协议概述
  11. SpriteBuilder中应用智能精灵集之后提示找不到文件的解决
  12. Mysql基本架构及查询流程
  13. ImportError: No module named MySQLdb&lt;/module&gt;
  14. [jQuery]相对父级元素的fixed定位
  15. 数据仓库分层ODS DW DM 主题 标签
  16. [学习笔记]Ubuntu下安装配置SQLSERVER2017
  17. InfluxDB 的UTC时间问题与简单的持续查询语句
  18. 网络对抗技术 2017-2018-2 20152515 Exp5 MSF基础应用
  19. Unity3D游戏-愤怒的小鸟游戏源码和教程(一)
  20. es6-块级作用域let 和 var的区别

热门文章

  1. linux下 git使用小记下
  2. 记.net 遇到的几个bug
  3. 国内Windows系统go get语言包
  4. inline元素、inline-block元素在float、position:fixed、position:absolute之后出现的问题
  5. CSS生成小三角
  6. 004-C3P0连接池工具类模板
  7. 003-BootStrap完整模板
  8. 解决display none到display block 渲染时间过长的问题,以及bootstrap模态框导致其他框中input不能获得焦点问题的解决
  9. Xcode插件路径、缓存路径、图片压缩工具路径、代码片段路径、symbolicatecrash路径
  10. SSM批量插入和修改实现实例