关于javascript的cookie的封装
2024-09-02 21:23:05
/******************cookie*********************/
/*
cookie的组成部分:
名称:唯一值,不区分大小写,必须经过URL编码
值:必须经过URL编码
域:只是改cookie在哪个域中是有效的.
路径:如果cookie的路径在www.guo.com中能访问,那么在www.yan.com页面就不会发送cookie.即使cookie来自同一个域中的
失效时间:在什么时间点被删除
安全标志:指定后,cookie只有在使用ssl链接的时候才发送到服务器.
域,路径,失效时间和secure标志都是服务器给浏览器的指示
CookieUtil.set("name", "guoyansi");//设置
CookieUtil.get("name");//获取
CookieUtil.unset("name");//删除
*/
var CookieUtil = {
get: function (name) { //读取
var cookieName = encodeURIComponent(name) + "=";
var cookieStart = document.cookie.indexOf(cookieName);
var cookieValue = null;
if (cookieStart > -1) {
var cookieEnd = document.cookie.indexOf(";", cookieStart); //从cookieStart开始检索字符串";"
if (cookieEnd == -1) {//没有检索到
cookieEnd = document.cookie.length;
}
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
}
return cookieValue;
},
/*
设置
*/
set: function (name, value, expires, path, domain, secure) { //键名,键值,保存时间,路径,域,失效日期
var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);
if (expires instanceof Date) {
cookieText += "; expires=" + expires.toGMTString();
}
if (path) {
cookieText += "; path=" + path;
}
if (domain) {
cookieText += "; domain=" + domain;
}
if (secure) {
cookieText += "; secure";
}
document.cookie = cookieText;
},
/*
cookie不存在删除的方法,可以将某条cookie记录的有效期设置成过去式,就可以删除某条cookie记录了.
*/
unset: function (name, path, domain, secure) {
this.set(name, "", new Date(0), path, domain, secure);
}
};
最新文章
- 基于bootstrap 的datatable插件的使用(php版)
- SSM框架——使用MyBatis Generator自动创建代码
- 张艾迪(创始人):Hello.世界...
- PHP 二维数组根据相同的值进行合并
- 机器学习技法-神经网络(NNet)
- PF_RING 实验
- 逻辑回归应用之Kaggle泰坦尼克之灾(转)
- Keil C51中函数指针的使用
- 小飞淙在博客上的第一天——NOIP201505转圈游戏
- bash之重定向
- Linux 权限位详解
- ImageMagick: win7 | win8 &; uac (用户帐户控制) 注册表的一些事
- java之XML
- 程序中使用now()函数对性能的影响
- https 学习总结
- Weblogic跨域session冲突解决办法
- "Value does not fall within the expected range" with managed metadata fields
- elementui常用知识点总结
- Python学习过程笔记整理(四)
- Nginx 静态资源缓存配置
热门文章
- Windows Phone 8, 添加Map控件
- 2.2 linux中的信号分析
- SVM实现分类识别及参数调优(一)
- BZOJ4872: [Shoi2017]分手是祝愿【概率期望DP】【思维好题】
- Springboot集成mybatis(mysql),mail,mongodb,cassandra,scheduler,redis,kafka,shiro,websocket
- IP相关的方法
- git操命令&;&;node操作命令
- 【python】面试常考数据结构算法
- GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-
- Oracle 11gR2 rac 的各项服务说明