JavaScript操作Cookie

来源:互联网 发布:怎样恢复sd卡数据 编辑:程序博客网 时间:2024/05/17 22:29

目标

JavaScript设置cookie,读取cookie,删除cookie

使用方法

把下面的代码实例代码复制到一个js文件中,引到你需要使用的界面中
调用方法:
manager.putCookie('loginName', loginName);//用户名(临时存储)manager.putCookie('isloginInvalid', "true", 0.02);//是否登陆失效(持久性存储30分钟)

代码实例

/** * @author 蔡龙 * @version 2017-08-09 */(function(){//manager命名空间,起隔离作用,防止同名变量冲突if(!window.manager) {window.manager={};}/** * 写入cookie * key  cookie的键 * valuecookie的值 * expires cookie有效时间,不写代表关闭浏览器失效 */manager.putCookie = function(key, value, expires){manager.cookie(key, value, {path:'/',expires:expires});};/** * 取出cookie */manager.getCookie = function(key){return manager.cookie(key);};/** * 操作cookie的通用函数 *  * 示例0:写入一个临时cookie,关闭浏览器后失效 manager.cookie('键', '值'); * 示例1:写入一个持久cookie,manager.cookie(key, '0', {path:'/',expires:7});//7表示有效期7天 * 示例2:删除cookie  manager.cookie(key, '0', {path:'/',expires:-1});//清空,把时间设置为负数,会让cookie立即过期 *      (注意path要相同才能删除成功,如果cookie存储的path是/,删除时则要指定path为/) * 示例3:写入一个cookie,7天后失效  manager.cookie('键', '值', {path:'/',expires:7});//7表示有效期7天 * 示例4:写入一个cookie,指定域名、路径、有效期 manager.cookie('键', '值', {domain:"www.test.com",path:'/',expires:7}); * 示例5:取cookie, manager.cookie('键') ,不能指定path路径,一个key存储在多个路径下,先返回目录层级长的。 * options.domain:指定域名 * options.path:指定路径,一般可指定/,若为null则写入当前页面的URL中取出当前路径 * options.expires:有效期,单位天 * options.secure:安全,true表示,该cookie只会在https下发送,而不会再http下发送 */manager.cookie=function (key, value, options) {if (typeof value != 'undefined') {options = options || {};if (value === null) {value = '';options.expires = -1;}var expires = '';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 : '';var domain = options.domain ? '; domain=' + options.domain : '';var secure = options.secure ? '; secure' : '';document.cookie = [key, '=', encodeURIComponent(value), expires, path, domain, secure].join('');} else {var cookieValue = null;if (document.cookie && document.cookie != '') {var cookies = document.cookie.split(';');for (var i = 0; i < cookies.length; i++) {var cookie = jQuery.trim(cookies[i]);// Does this cookie string begin with the key we want?if (cookie.substring(0, key.length + 1) == (key + '=')) {cookieValue = decodeURIComponent(cookie.substring(key.length + 1));break;}}}return cookieValue;}}})();

原创粉丝点击