JS如何设置cookie、读取cookie及删除cookie
转自:微点阅读 https://www.weidianyuedu.com
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。
而cookie是运行在客户端的,所以可以用JS来设置cookie.
假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限的,当发生页面跳转或者页面关闭的时候,这些变量的值会重新载入,即没有达到保存的效果。解决这个问题的最好的方案是采用cookie来保存该变量的值,那么如何来设置和读取cookie呢?
首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。
JS设置cookie:
假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为:
复制代码代码如下:
document.cookie="name="+username;
JS读取cookie:
假设cookie中存储的内容为:name=jack;password=123
则在B页面中获取变量username的值的JS代码如下:
?
1
2
3
4
5
6
7
8
9
10
var username=document.cookie.split(";")[0].split("=")[1];
//JS操作cookies方法!
//写cookies
function setCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
读取cookies
?
1
2
3
4
5
6
7
8
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
删除cookies
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
//使用示例
setCookie("name","hayden");
alert(getCookie("name"));
//如果需要设定自定义过期时间
//那么把上面的setCookie 函数换成下面两个函数就ok;
//程序代码
function setCookie(name,value,time)
{
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getsec(str)
{
alert(str);
var str1=str.substring(1,str.length)*1;
var str2=str.substring(0,1);
if (str2=="s")
{
return str1*1000;
}
else if (str2=="h")
{
return str1*60*60*1000;
}
else if (str2=="d")
{
return str1*24*60*60*1000;
}
}
//这是有设定过期时间的使用示例:
//s20是代表20秒
//h是指小时,如12小时则是:h12
//d是天数,30天则:d30
setCookie("name","hayden","s20");
JS如何设置cookie、读取cookie及删除cookie相关推荐
- php删除cookie值,php如何删除cookie
php删除cookie的方法:1.将cookie的值设置为空,语句为"setcookie('cookiename', '')或者setcookie(cookiename, NULL);&qu ...
- html页面怎么删除cookie,javascript中怎么删除cookie?
当web服务器向浏览器发送网页后,连接被关闭,服务器会忘记用户的一切.Cookie是为了解决"如何记住用户信息"而发明的.有时为了我们的信息安全需要删除Cookie,我们该如何做呢 ...
- Cookie的常用方法、删除Cookie的方式
删除浏览器中的Cookie 在cookie的API中没有提供直接将cookie删除的方法, 可以通过别的方式间接删除cookie 代码示例:删除名称为cart的cookie: 可以向浏览器再发送一个同 ...
- php cookie被赋值,php删除cookie反倒被赋值为deleted 解决办法
php删除cookie反倒被赋值为deleted 解决办法 原因是: 如果遇到用户客户端的电脑本地时间 比当前服务器时间少1年以上,IE浏览器就会出现这种情况.这种情况会致使用户永远点击退出退出不了. ...
- 前端js设置,读取,删除cookie及其简洁写法
设置cookie function setCookie(name, value,days) {//三个参数,一个是cookie的名子,一个是值,最后一个是天数var exp = new Date(); ...
- php 删除cookie有效方法
php 删除cookie有效方法 关于删除cookie的说明开始----- bool setcookie ( string name [, string value [, int expire [, ...
- JavaScript 删除Cookie
删除Cookie 如果cookie的max-age属性的值为0,则表示删除该cookie.cookie机制没有提供删除方法,因此通过设置该cookie即时失效实现删除cookie的效果.失效的cook ...
- 删除浏览器浏览器删除cookie方法
上班之余抽点时光出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下删除浏览器 文章目录导航 适用范围及演示工具 什么是cookie? cookie有什么作用? ie6/ie7/ie8 ...
- java serlet清空cookie_Java如何在Servlet中删除Cookie?
Servlet API没有提供直接的方法来删除Servlet应用程序中的cookie.如果要删除cookie,则必须创建一个与要删除的cookie具有相同名称的cookie,并将其值设置为空字符串.您 ...
- JS设置cookie、读取cookie、删除cookie
js操作Cookie总结(设置,读取,删除),工作中经常会用到的哦!下面是详细代码,如有错误,请留言指正! JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Sess ...
最新文章
- 【组合取补集】数三角形 @CQOI2014/BZOJ3505/upcexam3843
- ajax二级联动源代码,Ajax二级联动菜单实现原理及代码
- 横跨2017-2018,云效Work Like Alibaba系列直播第五期盛大开启
- Permission denied (publickey) 解决方案
- 全网首发:LINUX编译JNA:编译产生jna.jar
- TCP_NODELAY详解
- Java程序性能优化技巧
- Part I. S1. 模糊集及其运算
- SAP成都研究院飞机哥:程序猿和飞机的不解之缘
- 海思HI3798M GPIO和PWM操作
- 被炫龙DD3plus的insyde h20 bios整天了一整天分享分享解决问题经验
- 超简单使用阿里云注册商标
- 中国粮食安全问题及其应对措施
- 柳传志:想过得富有光鲜就要知道为啥穷
- 论文所涉及公司简介是否需要查重?
- 物联网与无线传感器网络期末考试复习资料(教材--刘伟荣,何云--电子工业出版社)
- python pymssql - pymssql模块官方文档的翻译
- ERROR: Failed to resolve: com.github
- mac怎么设置桌面提醒|mac系统提醒事项设置闹钟方法
- 实现《C++程序设计语言(特别版)》第6章 表达式和语句 - 桌面计算器 - Linux