前端 -- JavaScript设置cookie

news/2024/5/18 14:29:37 标签: JavaScript, cookie
JavaScript中,使用 document.cookie 来设置 cookie
语法:
     document.cookie=" name=value ; expire=GMT_String ; path=cookieDir ; domain=cookieDomain "
cookie格式的说明
键/值 对说明
name=value必需。设置cookie的名称和值,一次只能设置一个

cookie的名称或值中不会出现分号( ; )、逗号( , )、等号( = )、空格以及中文等,否则将会被浏览器编码。cookie的名称中做到这点很容易(名称一般是开发人员设定好的),但是保存的值是不确定的,如何来存储这些值呢?方法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,例如空格将会编码为“20%”,从而可以存储于cookie值 中,而且使用此种方案还可以避免中文乱码的出现。

例如,将“小明”存入cookie
document.cookie="username="+eacape("小明");
expire=GMT_String可选。设置cookie的过期时间。

默认情况下(不设置expire),用户关闭浏览器时会销毁cookie,这些cookie仅仅是存储在内存中,而没有建立相应的硬盘文件。在实际开发中,cookie 通常需要长期保存,例如保存用户登录的状态,可以通过设置 cookie 的过期时间来实现。

过期时间是以GMT格式表示的时间字符串,超过这个时间,cookie将消失,不可访问。

例如,如果要将cookie设置为10天后过期:
var date=new Date();  //  更多请参考 JavaScript Date 对象
var expireDays=10;
date.setTime(date.getTime()+expireDays*24*3600*1000);
path=cookieDir可选。设置cookie的有效路径。

默认情况下(不设置path),cookie只在当前路径下有效,路径范围之外不能访问该cookie例如,在 /javascript/jiaocheng/ 路径下设置的cookie,只能被 /javascript/jiaocheng/ 路径下的文件以及子目录下的文件访问。

要使 cookie 全站有效,请设置 path=/ 。
domain=cookieDomain可选。设置cookie的有效域名。

默认情况下(不设置 domain),cookie 只在当前域名下有效。例如,在 demo.itxueyuan.org 下设置的 cookie ,不能在 javascript.itxueyuan.org 域名下访问。

要使 cookie 在 itxueyuan.org 的所有二级域名和主域名下都有效,请设置domain=.itxueyuan.org

请看下面几个设置 cookie 的例子。

最简单的 cookie 设置:

document.cookie=" name=xiaoming ";

cookie 的值进行 escape() 编码:

var cookieValue=" 小明 ";
document.cookie=" name= "+escape(cookieValue) ;

设置有效路径为全站有效:

document.cookie=" name=xiaoming ; path=/ ";

设置过期时间为 1 天:

var date=new Date();  // 创建日期对象
var cookieExpire=date.getTime()+24*3600*1000;  // 以微妙计算
document.cookie=" name=xiaoming ; expire= "+cookieExpire;

举例,将IT学院会员的用户名和密码保存到cookie,过期时间一个月,全站有效,所有域名有效:

var username="小明";
var password="123456";
var expire=(new Date()).getTime()+1000*3600*24*30;
document.cookie = " username=" + escape(username) + " expire=" + expire + " ; path=/ ; domain=.itxueyuan.org ";
document.cookie = " password=" + escape(password) + " expire=" + expire + " ; path=/ ; domain=.itxueyuan.org ";


http://www.niftyadmin.cn/n/1386677.html

相关文章

PM如何整合资源——来自项目管理群的讨论

梁勇-中航泰克-北京 说: 今天主题是:PM如何整合资源 大概分为四部分: 1. PM自我评估与定位; 2. 资源分类; 3. 资源整合的技巧与方法; 4. 总结; 开启尘封的记忆-知识管理-北京 说: 时间到。。…

访问chm文件出现 已取消到该网页的导航的解决方法

经常从网上下载chm文件的时候,双击时发现 已取消到该网页的导航,刚开始的时候以为是chm文件有问题,其实大家用下面的方法可以解决下。 最常见的问题可以用下面的方法解决:一:在chm右键 看看有没有解除锁定选项 。。应该…

nhmicro平台支持xa分布式事务执行\提交与回滚

2019独角兽企业重金招聘Python工程师标准>>> nhmicro平台支持xa分布式事务,执行、提交和回滚 提供以下的restfule的接口: 1,执行分布式sql http://localhost:8080/project-demo/NhEsbServiceServlet?cmdNameGroovy&subNameXa…

写在最前面 - 每天5分钟玩转 OpenStack(1)

《每天5分钟玩转 OpenStack》是一个 OpenStack 教程,这是第 1 篇。这个教程有下面两个特点:系统讲解 OpenStack 从架构到各个组件;从整体到细节逐一讨论重实践并兼顾理论 主要从实际操作的角度带着大家学习 OpenStack。为啥要写这个&#xff…

WEB前端 -- JavaScript获取cookie

JavaScript 通过 document.cookie 来获取 cookie 。遗憾的是&#xff0c;document.cookie 只能获取所有 cookie 的集合&#xff0c;不能获取单个 cookie 。例如&#xff0c;获取当前cookie集合&#xff1a;<input id"demo1" type"button" value"获…

git的权威指南

CHENYILONG 博客git的权威指南 全屏© chenyilong。本站由Postach.io 博客转载于:https://www.cnblogs.com/ChenYilong/p/3587310.html

SharpDevelop开发ASP.NET

设置SharpDevelop&#xff0c;使其能编写和运行Asp.net。 在看下文的时候&#xff0c;请确定您的系统装上了IIS&#xff0c;FontPage扩展&#xff0c;装了.Net框架。好现在开始我的讲述。 如果您装的.Net框架是1.1版的&#xff0c;请生成以下BAT文件。 文件&#xff1a;Asp…

通过oauth 认证 新浪微博 开发过程中遇到的问题

1 Android之NetworkOnMainThreadException异常 http://blog.csdn.net/mad1989/article/details/25964495 &#xff0c;从Honeycomb SDK&#xff08;3.0&#xff09;开始&#xff0c;google不再允许网络请求&#xff08;HTTP、Socket&#xff09;等相关操作直接在Main Thread类中…