当前位置:首页 > 日记 > 正文

javascript操作cookie

javascript操作cookie

前端js cookie的使用

cookie的作用:服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已 经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物 车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。

js设置cookie

document.cookie="popped=yes"

js获取cookie

function get_cookie(Name) {  var search = Name + "="//查询检索的值  var returnvalue = "";//返回值  if (document.cookie.length > 0) {   sd = document.cookie.indexOf(search);   if (sd!= -1) {    sd += search.length;    end = document.cookie.indexOf(";", sd);    if (end == -1)     end = document.cookie.length;     //unescape() 函数可对通过 escape() 编码的字符串进行解码。    returnvalue=unescape(document.cookie.substring(sd, end))   }  }   return returnvalue;}//使用方式:get_cookie("popped");

给cookie设置终止日期

例如:如果要将cookie设置为10天后过期,可以这样实现:

//获取当前时间var date=new Date();var expiresDays=10;//将date设置为10天以后的时间date.setTime(date.getTime()+expiresDays*24*3600*1000);//将userId和userName两个cookie设置为10天后过期document.cookie="userId=828; userName=hulk; expires="+date.toGMTString();

删除cookie

为了删除一个cookie,可以将其过期时间设定为一个过去的时间,例如:

//获取当前时间var date=new Date();//将date设置为过去的时间date.setTime(date.getTime()-10000);//将userId这个cookie删除document.cookie="userId=828; expires="+date.toGMTString();

下面封装上面的方法

var cookie = {  set:function(key,val,time){//设置cookie方法    var date=new Date(); //获取当前时间    var expiresDays=time; //将date设置为n天以后的时间    date.setTime(date.getTime()+expiresDays*24*3600*1000); //格式化为cookie识别的时间    document.cookie=key + "=" + val +";expires="+date.toGMTString(); //设置cookie  },  get:function(key){//获取cookie方法    /*获取cookie参数*/    var getCookie = document.cookie.replace(/[ ]/g,""); //获取cookie,并且将获得的cookie格式化,去掉空格字符    var arrCookie = getCookie.split(";") //将获得的cookie以"分号"为标识 将cookie保存到arrCookie的数组中    var tips; //声明变量tips    for(var i=0;i<arrCookie.length;i++){  //使用for循环查找cookie中的tips变量      var arr=arrCookie[i].split("=");  //将单条cookie用"等号"为标识,将单条cookie保存为arr数组      if(key==arr[0]){ //匹配变量名称,其中arr[0]是指的cookie名称,如果该条变量为tips则执行判断语句中的赋值操作        tips=arr[1];  //将cookie的值赋给变量tips        break;  //终止for循环遍历      }    },   delete:function(key){ //删除cookie方法     var date = new Date(); //获取当前时间     date.setTime(date.getTime()-10000); //将date设置为过去的时间     document.cookie = key + "=v; expires =" +date.toGMTString();//设置cookie    }    return tips;  }}

使用方式:

cookie.set("uesr","sss",24);//设置为24天过期alert(cookie.get("uesr"));//获取cookie

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

相关文章

angular2 ng build部署后base文件

angular2 ng build部署后base文件

文件路径问题,详细,电脑软件,ng,base,最近在学习angular2中遇到了一些问题,问题如下:问题:使用angular-cli搭建的项目,执行ng build后,浏览器打开空白,发现文件的路径不对解决方案: 在package.json文件的scripts中添加命令:"build":"ng build --…

JavaScript之DOM插入更新删除_动力

JavaScript之DOM插入更新删除_动力

删除,学院,节点,动力,电脑软件,JavaScript之DOM插入更新删除,供大家参考,具体内容如下更新拿到一个DOM节点后,我们可以对它进行更新。可以直接修改节点的文本,方法有两种:一种是修改innerHTML属性,这个方式非常强大,不但可以修改一个DOM节点的文本…

ps怎样快速制作一个旋转空调按钮图

ps怎样快速制作一个旋转空调按钮图

空调,快速,按钮图标,电脑软件,ps,ps怎样快速制作一个旋转空调按钮图标?运用PHOTOSHOP软件,可以很简单的制作大家想要的照片,下面和小编一起来看看具体步骤吧。效果图:具体步骤:首先我们来分析一下。不管设计什么的时候,首先都要分析,不是拿着就开…

详谈javascript精度问题与调整

详谈javascript精度问题与调整

调整,精度问题,电脑软件,javascript,一个经典的问题:0.1+0.2==0.3答案是:false因为:0.1+0.2=0.30000000000000004第一次看到这个结果就是无比惊讶,下巴碰到地上,得深入了解下问题出在哪里,该怎么去调整。产生问题的原因在JS中数值类型就只有numbe…

VS2010/VS2013项目创建 ADO.NET连

VS2010/VS2013项目创建 ADO.NET连

项目创建,步骤,连接,详细,电脑软件,本随笔主要是对初学者通过ADO.NET连接数据库的步骤(刚开始我也诸多不顺,所以总结下,让初学者熟悉步骤)1、打开VS新建一个项目(这里的VS版本不限,建项目都是一样的步骤)VS2010版本如图:VS2013版本如图:2、非空项…

Angular动态添加、删除输入框并计

Angular动态添加、删除输入框并计

动态添加,删除,计算,输入框,实例代码,Angular动态添加、删除输入框并计算值实例代码摘要: 在学习群中交流时,有人分享了一个动态添加输入框的方法,我在其基础上进行了一些改进这个功能本身并不复杂,但还是要注意,每个ng-model的对象必须是不同…

怎么使用excel的复制公式excel的复

怎么使用excel的复制公式excel的复

方法,拖动,公式,使用方法,电脑软件,  Excel中公式的复制操作有其特殊性,对此小编从以下几个方面出发,给大家介绍一下在不同情况下公式的复制方法,希望对大家有所帮助。excel的复制公式使用方法一:直接复制公式法首先选中要复制公式的单元格或…

关于jQuery.ajax | 的jsonp碰上pos

关于jQuery.ajax | 的jsonp碰上pos

详解,电脑软件,ajax,jQuery,post,前言以前一直以为当$.ajax()的 dataType设置为jsonp时,其method(请求方法)无论怎么设置,都会变成get,直到前两天遇到了一个坑。下面来一起看看详细的介绍:关于跨域请求与jsonp 跨域:由于受到同源策略(协议、域名、…

excel中分列教程

excel中分列教程

教程,电脑软件,excel,  Excel中的分列功能具体该如何运用呢?下面是由小编分享的excel中分列教程,以供大家阅读和学习。excel中分列教程:  分列步骤1:启动Excel2003(其他版本请仿照操作),打开相应的工作表,在B列右侧插入一个空白列,用于保存分…

详解angularjs中如何实现控制器和

详解angularjs中如何实现控制器和

指令,交互,控制器,如何实现,详解,如果我们具有下面的DOM结构:<div ng-controller="MyCtrl"> <loader>滑动加载</loader> </div> 同时我们的控制器具有如下的签名:var myModule = angular.module("MyModule", []); //首先定义一个模块…

微信小程序 本地数据读取实例

微信小程序 本地数据读取实例

数据读取,实例,程序,电脑软件,微信小,微信小程序 本地数据读取实例一般情况下,小程序的utils这个文件夹下,我们可以把本地的数据写进去,封装成.js文件,提供对外暴露的接口,然后读取本地数据。如果涉及到一些针对这些数据的处理方法,也可以把方法…

ps怎么制作一个小李子的暗蓝色的个

ps怎么制作一个小李子的暗蓝色的个

李子,海报,蓝色,电脑软件,ps,我们看电影,都会看到很多海报,那些海报那么酷,那么帅,大部分是用PS调色出来的,下面来说说,PS6中怎么将一张图片P出海报效果。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、首…