首页 >

javascript封装 Cookie 应用接口【javascript】

web前端|js教程

javascript封装 Cookie 应用接口【javascript】

javascript,封装,Cookie
web前端-js教程
本文章记录本人在学习 Cookie 中看书理解到的一些东西,加深记忆和并且整理记录下来,方便之后的复习。
战歌网源码,vscode中背景变淡,u盘引导ubuntu,设置tomcat启动参数,sqlite 存储,重庆有哪些网页设计公司,数据库链创建失败,镇江.服务器,jquery网格拖动插件,前端开发的框架学习到哪里结束,没爬虫,怎么学php,晴天seo,SpringBoot结果类,phpcms模板标签,jquery网站后台,个人博客网页制作模块,wordpress主题模板制作教程,zencart后台进不去,织梦后台登录页面修改,学生chengji管理系统,进销存程序设计lzw
封装函数
唯美博客源码,ubuntu和mac比较,tomcat应用地址映射,全网爬虫BOT,php 验证码封装,sully seolzw
在默认的情况下存取Cookie是一件比较麻烦的事情。由于Cookie是通过字符串来存储信息的,所以容易导致在执行赋值运算的时需要转换读取信息的数据类型。而且Cookie信息的字符串本身就令人讨厌,在经常使用Cookie信息的 Web 应用中格外的不方便。所以需要自行的封装一个Cookie函数来提供开发效率!
lol网源码下载,ubuntu12.4扩容,社交网络爬虫算法,php的数据库中如何添加修改,seo实用策略lzw
定义一个函数Cookie(),这个函数能够写入指定的Cookie信息,删除指定的Cookie信息,也能够读取指定名称的Cookie值,另外,在该函数中还可以制定Cookie信息的有效期、有效路径、作用域和安全性选项设置。完整的代码:

var Cookie = function(name, value, options) {    // 如果第二个参数存在    if (typeof value != 'undefined') {      options = options,| {};      if (value === null) {        // 设置失效时间        options.expires = -1;      }      var expires = '';      // 如果存在事件参数项,并且类型为 number,或者具体的时间,那么分别设置事件      if (options.expires && (typeof options.expires == 'number',| options.expires.toUTCString)) {        var date;        if (typeof options.expires == 'number') {          date = new Date();          date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));        } else {          date = options.expires;        }        expires = '; expires=' + date.toUTCString();      }      var path = options.path ? '; path=' + options.path : '', // 设置路径        domain = options.domain ? '; domain=' + options.domain : '', // 设置域         secure = options.secure ? '; secure' : ''; // 设置安全措施,为 true 则直接设置,否则为空      // 把所有字符串信息都存入数组,然后调用 join() 方法转换为字符串,并写入 Cookie 信息      document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');     } else { // 如果第二个参数不存在      var CookieValue = null;      if (document.cookie && document.cookie != '') {        var Cookie = document.cookie.split(';');        for (var i = 0; i < Cookies.length; i++) {          var Cookie = (Cookie[i],| "").replace( /^\s+|\s+$/g, "");          if (Cookie.substring(0, name.length + 1) == (name + '=')) {            CookieValue = decodeURIComponent(Cookie.substring(name.length + 1));            break;          }        }      }      return CookieValue;    }  };
如何使用

写入Cookie信息:

// 简单写入一条 Cookie 信息cookie("user", "baidu");// 写入一条 Cookie 信息,并且设置更多选项cookie("user", "baidu", {  expires: 10, // 有效期为 10 天  path: "/", // 整个站点有效  domain: "www.baidu.com", // 有效域名  secure: true // 加密数据传输});
2.读取Cookie信息:

cookie("user");
3.删除Cookie信息:

cookie("user", null);
再给大家分享一个封装好的代码

//向cookie写入数据function writeCookie(name, value, days) { // 定义有效日期(cookie的有效时间) var expires = ""; // 为有效日期赋值 if (days) {  var date = new Date();	//设置有效期(当前时间+时间段)  date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));//时间段为毫秒数   expires = "; expires=" + date.toGMTString(); } // 给cookie赋值 name, value和expiration date(有效期) document.cookie = name + "=" + value + expires + "; path=/";}//读取cookie数据function readCookie(name) { var searchName = name + "="; var cookies = document.cookie.split(';'); for(var i=0; i < cookies.length; i++) {  var c = cookies[i];  while (c.charAt(0) == ' ')   c = c.substring(1, c.length);  if (c.indexOf(searchName) == 0)   return c.substring(searchName.length, c.length); } return null;}//清楚所有的cookiefunction eraseCookie(name) { // 将时间设置成-1将清除存储在cookie中的数据 writeCookie(name, "", -1);}
最后,如果文章有什么错误和疑问的地方,请指出。与sf各位共勉!


  • 暂无相关文章