1 /** 2 * JET (Javascript Extension Tools) 3 * Copyright (c) 2009, KDV.cn, All rights reserved. 4 * Code licensed under the BSD License: 5 * http://developer.kdv.cn/jet/license.txt 6 * 7 * @fileOverview Jx! 8 * @version 1.0 9 * @author Kinvix(<a href="mailto:Kinvix@gmail.com">Kinvix@gmail.com</a>) 10 * @description 11 * 12 */ 13 14 /** 15 * @description 16 * Package: jet.cookie 17 * 18 * Need package: 19 * jet.core.js 20 * 21 */ 22 23 24 /** 25 * cookie类 26 * 27 * @namespace J.cookie 28 */ 29 Jx().$package(function(J){ 30 var domainPrefix = window.location.host; 31 32 /** 33 * cookie 名字空间 34 * @namespace 35 * @name cookie 36 */ 37 J.cookie = 38 /** 39 * @lends cookie 40 */ 41 { 42 43 /** 44 * 设置一个cookie 45 * 46 * @param {String} name cookie名称 47 * @param {String} value cookie值 48 * @param {String} domain 所在域名 49 * @param {String} path 所在路径 50 * @param {Number} hour 存活时间,单位:小时 51 * @return {Boolean} 是否成功 52 */ 53 set : function(name, value, domain, path, hour) { 54 if (hour) { 55 var today = new Date(); 56 var expire = new Date(); 57 expire.setTime(today.getTime() + 3600000 * hour); 58 } 59 window.document.cookie = name + "=" + value + "; " + (hour ? ("expires=" + expire.toGMTString() + "; ") : "") + (path ? ("path=" + path + "; ") : "path=/; ") + (domain ? ("domain=" + domain + ";") : ("domain=" + domainPrefix + ";")); 60 return true; 61 }, 62 63 /** 64 * 获取指定名称的cookie值 65 * 66 * @param {String} name cookie名称 67 * @return {String} 获取到的cookie值 68 */ 69 get : function(name) { 70 var r = new RegExp("(?:^|;+|\\s+)" + name + "=([^;]*)"); 71 // var r = new RegExp("(?:^|;+|\\s+)" + name + "=([^;]*?)(?:;|$)"); 72 var m = window.document.cookie.match(r); 73 return (!m ? "" : m[1]); 74 // document.cookie.match(new 75 // RegExp("(?:^|;+|\\s+)speedMode=([^;]*?)(?:;|$)")) 76 }, 77 78 /** 79 * 删除指定cookie,复写为过期 80 * 81 * @param {String} name cookie名称 82 * @param {String} domain 所在域 83 * @param {String} path 所在路径 84 */ 85 remove : function(name, domain, path) { 86 window.document.cookie = name + "=; expires=Mon, 26 Jul 1997 05:00:00 GMT; " + (path ? ("path=" + path + "; ") : "path=/; ") + (domain ? ("domain=" + domain + ";") : ("domain=" + domainPrefix + ";")); 87 } 88 }; 89 90 }); 91 92 Jx().$package(function(J){ 93 /** 94 * localStorage 名字空间 95 * @namespace 96 * @name localStorage 97 */ 98 J.localStorage = 99 /** 100 * @lends localStorage 101 */ 102 { 103 104 /** 105 * 设置一个localStorage 106 * @param {String} name 107 * @param {String} value 108 */ 109 setItem : function(name, value) { 110 if(this.isSupports()){ 111 window.localStorage.setItem(name,value); 112 } 113 }, 114 /** 115 * 根据名字读取值 116 * @param {String} name 117 * @return {String} 118 */ 119 getItem : function(name) { 120 if(this.isSupports()){ 121 return window.localStorage.getItem(name); 122 } 123 return null; 124 }, 125 /** 126 * 根据名字移除值 127 * @param {String} name 128 */ 129 removeItem : function(name) { 130 if(this.isSupports()){ 131 window.localStorage.removeItem(name); 132 } 133 }, 134 /** 135 * 清空 localStorage 136 */ 137 clear : function(){ 138 if(this.isSupports()){ 139 window.localStorage.clear(); 140 } 141 }, 142 /** 143 * 判断是否支持 localStorage 144 */ 145 isSupports : function(){ 146 return ('localStorage' in window)&&window['localStorage']!== null; 147 } 148 }; 149 150 }); 151