1. 什么是cookie?

1.1. Cookie 是在您的计算机上存储在小的文本文件中的数据。

1.2. 当web服务器向浏览器发送网页后, 连接被关闭, 服务器会忘记用户的一切。

1.3. Cookie是为了解决"如何记住用户信息"而发明的:

  • 当用户访问网页时, 他的名字可以存储在cookie中。
  • 下次用户访问该页面时, cookie会"记住"他的名字。

1.4. 当浏览器从服务器请求一个网页时, 将属于该页的cookie添加到该请求中。这样服务器就获得了必要的数据来"记住"用户的信息。

1.5. 如果浏览器已关闭本地cookie支持, 则以下实例均无法工作。

2. 通过JavaScript创建cookie

2.1. JavaScript可以用document.cookie属性创建、读取、删除cookie。

2.2. 通过JavaScript, 可以这样创建cookie:

document.cookie = "username=Bill Gates";

2.3. 您还可以添加有效日期(UTC 时间)。默认情况下, 在浏览器关闭时会删除cookie:

document.cookie = "username=John Doe; expires=Sun, 31 Dec 2017 12:00:00 UTC";

2.4. 通过path参数, 您可以告诉浏览器cookie属于什么路径。默认情况下, cookie属于当前页。

document.cookie = "username=Bill Gates; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";

3. 通过JavaScript读取cookie

3.1.通过JavaScript, 可以这样读取cookie:

var x = document.cookie;

3.2. document.cookie会在一条字符串中返回所有cookie, 比如:

cookie1=value; cookie2=value; cookie3=value;

4. 通过JavaScript改变cookie

4.1. 通过使用JavaScript, 你可以像你创建cookie一样改变它:

document.cookie = "username=Steve Jobs; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";

4.2. 通过重新赋值, 新的cookie值覆盖旧的cookie值。

5. 通过JavaScript删除cookie

5.1. 删除cookie非常简单, 删除cookie时不必指定cookie值, 直接把expires参数设置为过去的日期即可:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/";

5.2. 您应该定义cookie路径以确保删除正确的cookie。如果你不指定路径, 一些浏览器不会让你删除cookie。

6. 例子

6.1. 新建一个Web项目

6.2. 编写Cookie.html

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="utf-8" /><title>JavaScript Cookies</title><script type="text/javascript">var name = 'uName';function setCookie(cname,cvalue,exdays) {var d = new Date();d.setTime(d.getTime() + (exdays*24*60*60*1000));var expires = "expires=" + d.toGMTString();document.cookie = encodeURIComponent(cname + "=" + cvalue + ";" + expires + ";path=/");}function getCookie(cname) {var name = cname + "=";var decodedCookie = decodeURIComponent(document.cookie);var ca = decodedCookie.split(';');for(var i = 0; i < ca.length; i++) {var c = ca[i];while (c.charAt(0) == ' ') {c = c.substring(1);}if (c.indexOf(name) == 0) {return c.substring(name.length, c.length);}}return "";}function checkCookie() {var user = getCookie(name);if (user != "") {alert("再次欢迎您," + user);} else {user = prompt("请输入姓名:","");if (user != "" && user != null) {setCookie(name, user, 30);}} }</script></head><body onload="checkCookie()"></body>
</html>

6.3. 效果图

083_JavaScript Cookies相关推荐

  1. Ubuntu 14.04 64bit上查看网页中的cookies

    今天在研究全网定位用户时,获知目前采用的方式主要是通过cookies来实现的,于是想实际了解一下cookie文件的具体内容.我在windows 8.1上查看存放cookie的系统文件目录,但是因为权限 ...

  2. AS3.0编程 So本地数据存储(“超级cookies”)--AS3:Local SharedObject

    Flash影片运行过程中,大多数的数据都存储于影片本身,一旦影片被关闭,这些数据也就从内存中被清除掉,下次运行时,数据将从头开始.若想存储数据或者让客户端的多个影片共享同一组数据,就要想办法把数据存储 ...

  3. ASP.NET中利用cookies保持客户端信息

    作者:未知   请作者速与本人联系 我当前所吃的东东都固定为食物,所以一点也不惊讶,这一周的主题为cookies. Cookies用于存储特定用户信息,它提供了Web程序中一种有用的方式.多年以来,J ...

  4. 通过cookies跳过验证码登陆页面,直接访问网站的其它URL

    我每次手动访问去NN网的一家酒店,就不需要登陆,一旦我用脚本打开就会让我登陆,而登陆页面又有验证码,不想识别验证码,所以就想:"通过cookies跳过验证码登陆页面,直接访问网站的其它URL ...

  5. win7的IE缓存,临时文件,cookies和历史记录

    2019独角兽企业重金招聘Python工程师标准>>> vista.win7的缓存以及临时文件.Cookies和历史记录都在以下几个地方: 缓存: %userprofile%\App ...

  6. Jquery_操作cookies

    首先引入jquery.cookie.js jquery.cookie.js下地址:http://plugins.jquery.com/cookie/ 操作文档: https://github.com/ ...

  7. 爬虫之requests模块cookieJar对象转换为cookies字典的方法

    爬虫之requests模块cookieJar对象转换为cookies字典的方法 使用requests获取的resposne对象,具有cookies属性.该属性值是一个cookieJar类型,包含了对方 ...

  8. 爬虫之requests模块中cookies参数的使用

    爬虫之requests模块中cookies参数的使用 上一篇文章在headers参数中携带cookie,也可以使用专门的cookies参数 cookies参数的形式:字典 cookies = {&qu ...

  9. requests 返回的cookies为空_Requests库(七)重定向和超时

    由于微信公众号推送改为了信息流的形式,防止走丢,请给加个星标 ⭐,你就可以第一时间接收到本公众号的推送! Requests库分享系列: Requests库(一) Requests库(二) Reques ...

最新文章

  1. SAP SD 微观研究之如何得到Customer List?
  2. Dev Winform 简洁界面模板制作
  3. JS 全局对象 全局变量 作用域 (改自TOM大叔博文)
  4. tableview下拉刷新
  5. java中如何改变状态栏_如何创建状态栏
  6. Centos安装、配置nginx
  7. 深入理解InnoDB(8)—单表访问
  8. 从小白到年薪10万+,优秀的数据分析能力如何速成?
  9. nextcloud icon_聊一聊爱车吉利ICON带给我的用车感受
  10. Windows系统的32位和64位系统区别
  11. 数据导出到excel文件给客户端下载的几种方法
  12. [wcf]入门.3.1
  13. 简单企业网络搭建(基于华为eNSP模拟器)
  14. 精读ConViT: Improving Vision Transformerswith Soft Convolutional Inductive Biases
  15. 怎么在css中定义字体颜色,css中怎么设置字体颜色
  16. 会议OA项目(我的会议中的会议排座送审功能)
  17. Teardrop代码编程
  18. transform.position 绝对位置与相对位置
  19. C# BlockingCollection 简单用法
  20. “1万起投,年化达8%”?天安金交中心卖力“吆喝”的产品,是“香”还是“坑”?

热门文章

  1. 3D网页游戏场景打包与加载
  2. atitit.Sealink2000国际海运信息管理系统
  3. sqlserver2008中如何用右键可视化的设置外键
  4. 没有找到mfc100.dll
  5. 802.11ac和SD-WAN有什么联系?
  6. 5G时代到来,SD-WAN如何发展?-Vecloud微云
  7. OpenCV神经网络ANN代码编译运行与解读(一)
  8. 海康大华RTSP格式
  9. (十四)json、pickle与shelve模块
  10. Hive记录-配置远程连接(JAVA/beeline)