Cookie的使用(含cookie的封装)
2017-09-05 21:28
162 查看
看到cookie这个词,我一个想到的就是饼干,因为这个单词的意思有饼干的意思.可是这里并不是,不是道为什么命名为cookie,难道命名人喜欢吃饼干. 不扯了, 进入正题.
这里的cookie是一个本地数据,这些数据就是用来辨别用户身份的.
总大小一般为4k(同一域名)
只能使用文本文件
读取有域名限制
时效性,最短为会话级别,就是浏览器关闭后,cookie就会clear
添加 : document.cookie = “key = value”,一次写入一个键值对,
读取 : document.cookie,返回的是字符串
修改 : 与添加一样
删除 : 将cookie值设为空,或将时间设为过期时间
失效时间 : expires
var oDate = new Date();
oDate.setDate(oDate.getDate() + iDay);
设置失效时间:document.cookie = “key=value;expires=”+ oDate;
设置域名:domain
设置域名:document.cookie = “key=value;domain=.baidu.com“;
注:必须在绑定域名的服务器才可以设置域名,上不同服务器之间的cookie文件不能共享。
设置路径:path
设置路径: document.cookie = “key=value;path=/“;
注:在同一路径下的网页可以共享cookie,路径不同时,不可以访问。
注:如果有中文内容,需要用encodeURIComponent(‘xxxx’)进行编码,再使用decodeURIComponent(‘xxxx’)进行解码,解决中文乱码的问题。
直接贴代码.
这里的cookie是一个本地数据,这些数据就是用来辨别用户身份的.
cookie的特点
一般限制同一域名数量为50个总大小一般为4k(同一域名)
只能使用文本文件
读取有域名限制
时效性,最短为会话级别,就是浏览器关闭后,cookie就会clear
cookie的使用 ##
那么如何使用cookie呢添加 : document.cookie = “key = value”,一次写入一个键值对,
读取 : document.cookie,返回的是字符串
修改 : 与添加一样
删除 : 将cookie值设为空,或将时间设为过期时间
失效时间 : expires
var oDate = new Date();
oDate.setDate(oDate.getDate() + iDay);
设置失效时间:document.cookie = “key=value;expires=”+ oDate;
设置域名:domain
设置域名:document.cookie = “key=value;domain=.baidu.com“;
注:必须在绑定域名的服务器才可以设置域名,上不同服务器之间的cookie文件不能共享。
设置路径:path
设置路径: document.cookie = “key=value;path=/“;
注:在同一路径下的网页可以共享cookie,路径不同时,不可以访问。
注:如果有中文内容,需要用encodeURIComponent(‘xxxx’)进行编码,再使用decodeURIComponent(‘xxxx’)进行解码,解决中文乱码的问题。
cookie的封装
每次使用cookie的时候代码都是这些,那么为了少写代码,我们此时就要封装cookie.直接贴代码.
/** * 对cookie的封装 * @type {{setCookie: CookieUtils.setCookie, getCookie: CookieUtils.getCookie, removeCookie: CookieUtils.removeCookie}} */ var CookieUtils = { /** * 添加,修改cookie,若不传day,则day默认值为1,若不传path,则path默认值为"/" * @param key * @param value * @param day * @param path */ setCookie: function (key, value, day, path) { if (day === "" || day === null || day === undefined) { day = 1; } if (path === "" || path === null || path === undefined) { path = "/"; } var date = new Date(); date.setDate(date.getDate() + day); document.cookie = encodeURIComponent(key) + '=' + encodeURIComponent(value) + ';expires=' + date + ';path=' + path; }, /** * 查询cookie * @param key * @returns {string} */ getCookie: function (key) { var cookieStr = document.cookie; var cookieArr = cookieStr.split("; "); for (var i = 0; i < cookieArr.length; i++) { var temp = cookieArr[i].split("="); if (temp[0] === key) { return decodeURIComponent(temp[1]); } } }, /** * 移除cookie * @param key * @param path */ removeCookie: function (key, path) { CookieUtils.setCookie(key, 1, -1, path); } };
相关文章推荐
- cookie的JS封装使用
- Volley使用技巧-----更好的封装(cookie的使用)
- cookie 和 session 基本使用 以及 封装
- 使用原生JavaScript封装cookie
- js技术--cookie基础(封装cookie、使用cookie记录上一次用户登录名)
- javascript制作的cookie封装及使用指南
- 使用JavaScript 对Cookie 操作的封装
- JSP中cookie的使用方法(用户登入_客户端读取及发送)
- 全面了解servlet中cookie的使用方法
- Android6.0执行时权限解析,RxPermissions的使用,自己封装一套权限框架
- 为什么yii2 cookie使用起来会失效
- 一个Linux/Unix下的excel库“xlslib”的使用及其简单封装
- cookie的使用方法
- HttpClient调用第三方接口 底层代码的封装 方便以后使用
- 使用jquery cookie.js记录当前所点击过的菜单
- 使用struct实现面向对象编程的封装
- js中cookie的使用具体分析
- 优化网站设计(二十四):通过使用不同的主机减少对cookie的使用
- 无 Cookie 的 ASP.NET----不使用 Cookie 的 ASP.NET 会话管理:风险与利益