基于jquery的cookie的用法


Posted in Javascript onJanuary 10, 2011

example $.cookie('name', ‘value');
设置cookie的值,把name变量的值设为value
example $.cookie('name', ‘value', {expires: 7, path: ‘/', domain: ‘jquery.com', secure: true});
新建一个cookie 包括有效期 路径 域名等
example $.cookie('name', ‘value');
新建cookie
example $.cookie('name', null);
删除一个cookie

var account= $.cookie('name');
取一个cookie(name)值给myvar

代码如下

jQuery.cookie = function(name, value, options) { 
if (typeof value != 'undefined') { // name and value given, set cookie 
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(); // use expires attribute, max-age is not supported by IE 
} 
var path = options.path ? '; path=' + options.path : ''; 
var domain = options.domain ? '; domain=' + options.domain : ''; 
var secure = options.secure ? '; secure' : ''; 
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); 
} else { // only name given, get cookie 
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 name we want? 
if (cookie.substring(0, name.length + 1) == (name + '=')) { 
cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 
break; 
} 
} 
} 
return cookieValue; 
} 
};

然后看了下Discuz!中对cookie的操作方法
如下,发现少了个遍历用;分割的数组的处理
function getcookie(name) { 
var cookie_start = document.cookie.indexOf(name); 
var cookie_end = document.cookie.indexOf(";", cookie_start); 
return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length))); 
} 
function setcookie(cookieName, cookieValue, seconds, path, domain, secure) { 
var expires = new Date(); 
expires.setTime(expires.getTime() + seconds); 
document.cookie = escape(cookieName) + '=' + escape(cookieValue) 
+ (expires ? '; expires=' + expires.toGMTString() : '') 
+ (path ? '; path=' + path : '/') 
+ (domain ? '; domain=' + domain : '') 
+ (secure ? '; secure' : ''); 
}
Javascript 相关文章推荐
js网页侧边随页面滚动广告效果实现
Apr 14 Javascript
js控制table合并具体实现
Feb 20 Javascript
IE下通过a实现location.href 获取referer的值
Sep 04 Javascript
javascript 判断整数方法分享
Dec 16 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
Mar 24 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
Aug 26 Javascript
手把手教你写一个微信小程序(推荐)
Oct 17 Javascript
React父子组件间的传值的方法
Nov 13 Javascript
如何优雅地在Node应用中进行错误异常处理
Nov 25 Javascript
使用preload预加载页面资源时注意事项
Feb 03 Javascript
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
基于jquery的高性能td和input切换并可修改内容实现代码
Jan 09 #Javascript
IE6中使用position导致页面变形的解决方案(js代码)
Jan 09 #Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
Jan 09 #Javascript
JS中动态添加事件(绑定事件)的代码
Jan 09 #Javascript
jquery的extend和fn.extend的使用说明
Jan 09 #Javascript
js对象之JS入门之Array对象操作小结
Jan 09 #Javascript
理解JavaScript中的对象 推荐
Jan 09 #Javascript
You might like
PHP 开发环境配置(Zend Server安装)
2010/04/28 PHP
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
Python日志模块logging基本用法分析
2018/08/23 Python
django 外键model的互相读取方法
2018/12/15 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
后勤管理员岗位职责
2014/08/27 职场文书
2014会计年终工作总结
2014/12/20 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python
Elasticsearch 配置详解
2022/04/19 Java/Android