一、什么是cookie?

页面用来保存信息,如:自动登录、记住用户名
二、cookie的特性
1.同一个网站中所有页面共享一套cookie
2.数量、大小有限
3.有过期时间
三、js中使用cookie
document.cookie
四、cookie的使用
1.设置cookie:
格式:名字=值(多条不会覆盖)
过期时间:expires = 时间
封装函数
2.读取cookie(字符串的分割)

3.删除cookie(已经过期)

 五、封装cookie

  1. //创建cookie
  2. function setCookie(name,value,expiresDay) {
  3. var oDay = new Date();
  4. oDay.setDate(oDay.getDate() + expiresDay);
  5.  
  6. document.cookie = name + ' = ' + value + '; expires = ' + expiresDay;
  7. }
  8.  
  9. //得到cookie
  10. function getCookie(name) {
  11. var arr = document.cookie.split('; '); //cookie间是用;+空格隔开的
  12. for (let i = 0; i < arr.length; i++) {
  13. var arr2 = arr[i].split('=');
  14. if (arr2[0] == name) {
  15. return arr2[1];
  16. }
  17. }
  18. return '';
  19. }
  20.  
  21. //删除cookie
  22. function removeCookie(name) {
  23. setCookie(name,1,-1); //-1天后过期,则浏览器立马删除
  24. }
  25.  
  26. setCookie('userName','blue',100);

六、cookie简单示例(网页登录中应用cookie)

JavaScript:

  1. window.onload = function() {
  2. var oForm = document.getElementById('form1');
  3. var oUser = document.getElementsByName('user')[0];
  4.  
  5. oForm.onsubmit = function() {
  6. setCookie('user', oUser.value, 14);
  7. }
  8.  
  9. oUser.value = getCookie('user');
  10. }

html:

  1. <form id="form1" action="http://www.baidu.com/">
  2. 用户名:<input type="text" name="user"> <br>
  3. 密码:<input type="password" name="password"> <br>
  4. <input type="submit" value="登录">
  5. </form>

七、彩蛋

表单提交到了百度的服务器,于是在百度首页的console里看到如下文字:

嗯,好大一个蛋~

cookie初探——封装和使用cookie(内含彩蛋)的更多相关文章

  1. 死磕 java集合之TreeMap源码分析(四)-内含彩蛋

    欢迎关注我的公众号"彤哥读源码",查看更多源码系列文章, 与彤哥一起畅游源码的海洋. 二叉树的遍历 我们知道二叉查找树的遍历有前序遍历.中序遍历.后序遍历. (1)前序遍历,先遍历 ...

  2. DES加密解密 与 Cookie的封装(C#与js互相加密解密)

    2D JS框架 - DES加密解密 与 Cookie的封装(C#与js互相加密解密)   这次实现了JS端的DES加密与解密,并且C#端也能正确解析DES的密文(反之也实现了) 使用的代码如下,非常方 ...

  3. cookie 详解 与 封装 实用的cookie

    在WEB前端开发中,cookie是必不可少的,网上也有很多开源的库可以使用,不过我还是想自己总结一下,做个笔记并封装一个实用的库.(1)什么是cookie? 从web 角度 cookie是用于存储信息 ...

  4. javascript常用函数封装——运动、cookie、ajax、获取行内样式兼容写法、拖拽

    运动.cookie.ajax.获取行内样式兼容写法.拖拽封装大合集. //url,data,type,timeout,success,error function ajax(options){ //- ...

  5. cookie的封装写法

    设置cookie 三个参数分别代表:键,值,过期时间,这个封装方法可以完成cookie的储存   以及cookie的删除(过期时间设为赋值) function setCookie(cname,cval ...

  6. cookie自封装对象

    cookie.js(设置名值对属性时候不支持设置成前后有空格的格式,如' key'或'key ',只支持‘key’) (function initCookieClass(win){// 定义匿名函数并 ...

  7. 关于javascript的cookie的封装

    /******************cookie*********************/ /* cookie的组成部分: 名称:唯一值,不区分大小写,必须经过URL编码 值:必须经过URL编码 ...

  8. Cookie常用方法封装Utils

    1.查询某个指定的cookie package com.sun.etalk.cookie; import javax.servlet.http.Cookie; public class CookieU ...

  9. 删除cookie的封装

    remove cookie(key,options){ options=options||{}; options.expires=-1; 删除cookie,其实就是修改cookie,将之前设置好的co ...

随机推荐

  1. os模块详解

    python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name——判断现在正在实用的平台,Windows ...

  2. 通过Nginx部署Django

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  3. python 学习(pip工具的安装)

    mac 电脑上使用终端命令 curl https://bootstrap.pypa.io/get-pip.py | python3 基于Python 3 pip --version pip3 list ...

  4. iptables开放所有端口

    iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT

  5. 2018牛客多校2 - J farm 随机乱搞/二进制分组

    题意:给定n*m的格子,每个格子有不同的种类,q次操作,每次操作使[x1,y1]到[x2,y2]的格子除了k类型的以外都删除,最后单次询问所有格子被删了几个 官方题解提到了两种有意思的做法,随机和二进 ...

  6. 剑指offer——面试题18:删除链表的节点

    #include"List.h" void DeleteNode(ListNode** pHead,ListNode* pToBeDeleted) { if(*pHead==nul ...

  7. Jenkins windows部署

    1.安装jenkins 进入https://jenkins.io/download/,下载windows安装包,解压后运行jenkins.msi进行安装. 配置jenkins (1)打开http:// ...

  8. Quartz .net 禁止并行触发

    DisallowConcurrentExecution 禁用同步执行防止一个job 同一时间执行多次. [DisallowConcurrentExecution] public class Order ...

  9. 查找Ubuntu下包的归属

    今天在制作docker时,发现我的程序有些依赖的包不太好找应该安装什么. 在centos下面,可以用命令: rpm -qf <libraryname> 在Ubuntu下面,发现一个网站基本 ...

  10. 理解ReentrantLock的公平锁和非公平锁

    学习AQS的时候,了解到AQS依赖于内部的FIFO同步队列来完成同步状态的管理,当前线程获取同步状态失败时,同步器会将当前线程以及等待状态等信息构造成一个Node对象并将其加入到同步队列,同时会阻塞当 ...