Cookie的作用以及封装的方法
Cookie相当于本地储存(local Storage),也是一种储存信息的方式。
它通过
document.cookie ='name=value' //name name值 value value值
将name value 存入到
以上是我通过
document.cookie = 'weiboMsg=98567; path=/; expires=10';
写入到Cookie中。意思是 Name是 weiboMsg Value是 98567 。
然后呢,我们也可以获取Cookie,通过
alert(document.cookie); //weiboMsg=98567
alert(typeof document.cookie); //string
但是我们会发现父级文件夹中无法调取子文件夹中的Cookie的值。
还有当我们关闭当前页面再次打开时,也无法读取Cookie的值。
在这里就会涉及到 path 路径 和 expires 时效
也就是以上两项,你可以ctrl+shift+j再找到
就可以随时观察Cookie的变化,以及它的默认值
比如 expires 中的 Session ,它的时效是当前会话,也就是这个页面打开时。
这是我们就可以写两个方法来控制Cookie的传入与去除
在这里我们定义两个方法,分别是:setCookie() 与 getCookie();
代码如下
function setCookie(name, value, iDay) {
if(iDay) {
var dat = new Date(); dat.setDate(dat.getDate()+iDay); //name 传入的名称 value 传入的 值 path 默认路径(/)无需传入 expires 修改过期时间
document.cookie = '' + name + '=' + value + '; path=/; expires=' + dat + '';
} else {
document.cookie = '' + name + '=' + value + '; path=/';
}
}
function getCookie(name) {
//因为取来的Cookie信息是string,所以我们要将其拆分
var sValue = document.cookie.split('; ');
//["name=value", "name1=value"];
for(var i = 0; i < sValue.length; i++) { var arr1 = sValue[i].split('=');
//分割为 ["name", "value"],["name1", "value"]
console.log(arr1);
if(arr1[0] == name) {
return arr1[1];
}
}
return '';
}
通过对字符串与数组的操作,获取Cookie中name的值。这里应注意以下在第一次split分割时的字符是 ;+空格
另外,我们也可以设置删除Cookie,我将其命名为delCookie
function delCookie(name) {
setCookie(name, 'ssss', -10)
}
原理就是将时效设为负值,浏览器就会将Cookie种的信息删除
Cookie的作用以及封装的方法的更多相关文章
- Jquery.cookie.js 源码和使用方法
jquery.cookie.js源码和使用方法 jQuery操作cookie的插件,大概的使用方法如下 $.cookie(‘the_cookie’); //读取Cookie值$.cookie(’the ...
- js封装的方法
1.JS封装就是尽量把使用的方式简单化,内部逻辑和使用解耦.通俗的说就是使用的时候只需要知道参数和返回值,其他条件尽量不要使用人员进行设置. 2.JS封装的方法有函数方式.对象的方式.闭包的方式. 举 ...
- Visual Studio快速封装字段方法
在面向对象的编程中我们常常要将各个字段封装为属性,但是当字段多的时候往往这个重复的操作会大大降低我们的开发效率,那么如何才能快速的封装字段呢?下面就给大家2个解决方法: 1.使用封装字段方法: 选中字 ...
- 关于tween.js 封装的方法
今天做的是匀速情况下div的运动.首先开始之前先了解运动的原理 A------------>>BA移动到B 这段距离是总距离 用一个变量保存下来:var dA移动到B 移动的总次数 用一 ...
- xml方式封装数据方法
1.xml方式封装数据方法 2.demo <?php xml方式封装数据方法 /** * [xmlEncode description] * @param [type] $code [descr ...
- jQuery之JSP加载JS文件不起作用的有效解决方法
JSP加载JS文件不起作用的有效解决方法 作者: 字体:[增加 减小] 类型:转载 时间:2014-04-08 jsp导入jquery文件,老是不起作用,原因在于其不能访问/WEB-INF/目录下的文 ...
- Kong管理UI -kong-dashboard (附kong封装webservice方法)
本文仍然是在centos 6.7的环境下进行 本文转载请注明出处 —— xiaoEight btw如果要正常使用管理UI,前提为kong已经正常run(可参考)起来,此 ...
- angular 封装公共方法
angular封装公共方法到service中间件,节省开发时间 layer.service.ts openAlert(callback) {// 传递回调函数 const dialogRef = th ...
- jsonp跨域 封装通用方法
jsonp跨域 封装通用方法 //用法如下 jsonp({ url:"https://www.xxxx.com", params:{wd:'b'}, callback:'show' ...
随机推荐
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(十二)数据层优化-explain关键字及慢sql优化
本文提要 从编码角度来优化数据层的话,我首先会去查一下项目中运行的sql语句,定位到瓶颈是否出现在这里,首先去优化sql语句,而慢sql就是其中的主要优化对象,对于慢sql,顾名思义就是花费较多执行时 ...
- 蓝桥杯-分小组-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- 蓝桥杯-无穷分数-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- 源于《Unity官方实例教程 “Space Shooter”》思路分析及相应扩展
教程来源于:Unity官方实例教程 Space Shooter(一)-(五) http://www.jianshu.com/p/8cc3a2109d3b 一.经验总结 教程中步骤清晰,并且 ...
- USACO section 1.1 C++题解
USACO section1.1:DONE 2017.03.03 TEXT Submitting Solutions DONE 2017.03.04 PROB Your Ride Is Here [A ...
- coding.net及git的使用方式
一般部分测试的公司里可能会用到代码管理工具,这里可能不得不推荐coding.net和git这个工具,类似于svn,不过用命令行的情况多点 这里简单介绍下 1.建立coding.net 首先新建一个co ...
- React-Router 4 的新玩意儿
上一个项目用的还是 2.6.1,转眼的功夫 4.0 都发布了,API 变化实在有点大,2.X那套东西不顶用了,老老实实重新看一遍文档,其中有几点需要注意的,拿出来说一说. 本文只讨论针对浏览器的应用, ...
- NancyFx 2.0的开源框架的使用-HosingOwin
Nancy框架的Owin使用 先建一个空的Web项目 然后往Nuget库里面添加Nancy包 Nancy Nancy.Owin Nancy.ViewEnglines.Spark 然后添加Models, ...
- VR全景是市场价值及前景
消费者视角痛点:比如酒店消费行业,很多消费者在预订酒店过程中,都遇到过这样的场景:网上照片里酒店房间看着宽敞明亮,格调不凡,感觉非常喜欢,等真正推开房门插上房卡一看,却大失所望.在酒店行业,网上照片和 ...
- Java Date Classes
References: [1] http://tutorials.jenkov.com/java-date-time/index.html [2] https://docs.oracle.com/ja ...