一、设置cookie的值

1、每个cookie都是一个名称/值对,名称/值对用等号连接,并将该名称/值对赋值给document.cookie即可。如:document.cookie="id=77";

2、如果要一次存储多个名称/值对,可以使用分号加空格隔开。如:document.cookie="id=77; name=bill";

在cookie的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。如果想存入这些值,我们可以使用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,例如空格将会编码为“%20”,从而可以存储于cookie值中。

例如:

document.cookie="str="+escape("Hello World");

相当于:

document.cookie="str=Hello%20World";

当使用escape()编码后,在取出值以后需要使用unescape()进行解码才能得到原来的cookie值。

3、document.cookie可以赋不同的值,如:

document.cookie="id=77";

document.cookie="name=bill";

这时浏览器将维护两个cookie,分别是id和name

二、修改cookie的值

如果要改变一个cookie的值,只需重新赋值,例如:document.cookie="id=88";

这样cookie中id的值就变成成了88

三、获取cookie的值

cookie的值可以由document.cookie直接获得:var strCookie=document.cookie;

如果是一次存入多个名称/值对,可以将获取到的字符串进行遍历。

例://添加cookie

document.cookie="id=77; name=bill";

//获取存入到cookie的值,strCookie的值就为 id=77;name=bill

var strCookie=document.cookie;

//写个方法进行遍历

function getCookieValue(name) {

var strCookie=document.cookie;

var arrCookie=strCookie.split(";");

for(var i=0;i<arrCookie.length;i++){

var c=arrCookie[0].split("=");

if(c[0]==name){

return c[1];

}

}

return "";

}

该方法可以根据存入cookie的名称,获取对应的值。如getCookieValue("name"),得到结果就是bill

四、给cookie设置终止时间

cookie都是单会话的,即浏览器关闭后这些cookie将会丢失,事实上这些cookie仅仅是存储在内存中,而没有建立相应的硬盘文件。

在实际开发中,cookie常常需要长期保存,例如保存用户登录的状态。这可以用下面的选项来实现:

document.cookie="userId=828; expires=GMT_String";

这样可以设置cookie在这个时间内都是有效的。

例:设置cookie的有效时间是10分钟

//获取当前时间

var date=new Date();

var expireDays=10;

//将date设置为10天以后的时间

date.setTime(date.getTime()+expireDays*60*1000);

//将id和name两个cookie设置为10天后过期

document.cookie="id=77; name=bill; expires="+date.toUTCString();

五、删除cookie

直接将cookie的有效时间设置成过去即可。如

var date=new Date();

date.setTime(date.getTime()-1000)

document.cookie="id=77; name=bill; expires="+date.toUTCString();

js中实现cookie的增删改查(document.cookie的使用详情)的更多相关文章

  1. node.js中对 mysql 进行增删改查等操作和async,await处理

    要对mysql进行操作,我们需要安装一个mysql的库. 一.安装mysql库 npm install mysql --save 二.对mysql进行简单查询操作 const mysql = requ ...

  2. MVC3.0+knockout.js+Ajax 实现简单的增删改查

    MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...

  3. 在ASP.NET MVC4中实现同页面增删改查,无弹出框02,增删改查界面设计

    在上一篇"在ASP.NET MVC4中实现同页面增删改查,无弹出框01,Repository的搭建"中,已经搭建好了Repository层,本篇就剩下增删改查的界面了......今 ...

  4. 用 JS(JavaScript )实现增删改查

    JS小例题 学习内容: 需求 总结: 学习内容: 需求 用 JavaScript 实现简单增删改查 实现代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HT ...

  5. 用CI框架向数据库中实现简单的增删改查

    以下代码基于CodeIgniter_2.1.3版 用PHP向数据库中实现简单的增删改查(纯代码)请戳 http://www.cnblogs.com/corvoh/p/4641476.html Code ...

  6. Selenium入门13 cookie的增删改查

    cookie的增删改查: 查询:get_cookies()查询所有cookie,get_cookie(cookie的name)获取单个cookie 删除:delete_cookie(cookie的na ...

  7. java程序设计课期中考试——数据库的增删改查和简单的js界面

    首先是设计思路,对于数据库的增删改查,我们借助Ecilipse来进行前端和后端的编写.Ecilipse是可以进行java web项目的操作的. 前端,我们选择用使用jsp,所谓的jsp就是可以嵌入其他 ...

  8. 使用JS对HTML标签进行增删改查

    以下为通过JS对li标签进行简单的增删改查: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" ...

  9. MVC中的Ajax与增删改查

    自入手新项目以来,一直处于加班状态,博客也有两周没更,刚刚完成项目的两个模组,稍有喘息之机,写写关于项目中 的增删改查,这算是一个老生常谈的问题了,就连基本的教材书上都有.刚看书的时候,以为 没什么可 ...

随机推荐

  1. kubernetes k8s yum localinstall

    localinstall 是安装在本地的rpm包顺便解决依赖关系 yum localinstall docker-common-1.12.6-68.gitec8512b.el7.centos.x86_ ...

  2. 协议无关组播-密集模式 PIM-DM

    一.组播路由协议 (一) 路由器依靠转发项来转发组播数据包.转发项的生成则是组播路由协议所要完成的任务.组播路由协议有距离矢量组播路由协议(DVMRP).协议无关组播-密集模式(PIM-DM).协议无 ...

  3. document.createRange剪贴板API

    js实现复制到剪贴板 document.createRange() API 选中元素→range→selection是一一对应的,即选区必须连续,不可以有分开的多个区域.另外,被选元素必须在dom树上 ...

  4. SCCM2012 R2实战系列之十一:解决OSD分发Windows7 系统盘盘符为’D’问题

    在SCCM 2012 R2操作系统分发(OSD)中,大家最早做的实验可能就是分发干净的Windows7和Windows 8(或Windows8.1)了吧.但是不可面对的问题就是相同配置的任务序列(只是 ...

  5. html 网页生产pdf文件

    在nuget中安装组件 Install-Package CPechkin https://www.nuget.org/packages/CPechkin/ 根据html生产pdf文件 using Sy ...

  6. 第9章 应用层(2)_动态主机配置协议(DHCP)

    2. 动态主机配置协议(DHCP) 2.1 静态地址和动态地址的应用场景 (1)静态地址应用场景 ①IP地址不经常更改的设备(如服务器地址) ②使用有规律的IP地址以便于管理(如学校机房为方便教师管理 ...

  7. cocos子节点转父节点坐标 原理浅析(局部坐标转世界坐标同理)

    在CCNode的类中,有一个得到 一个节点坐标系转换父亲坐标系的一个矩阵,节点内坐标乘以这个矩阵,就可以转换为在节点父节点中的坐标,方法名为: Mat4& Node::getNodeToPar ...

  8. kafka的API操作

    在集群的接收端 启动producer 在consumer这边能接收到producer发来的数据

  9. Vue3.0项目快速搭建

    安装安装vue-cli npm install -g @vue/cli # 或者 yarn global add @vue/cli 创建项目 vue create hello-world 至此项目搭建 ...

  10. ScrollView嵌套RecyclerView、ScrollView嵌套Listview、ScrollView嵌套各种布局,默认不在顶部和回到顶部的解决方法;

    如果: ScrollView.scrollTo(0,0): ScrollView.fullScroll(View.FOCUS_UP) : ScrollView.smoothScrollTo(0, 0) ...