基于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 相关文章推荐
文本框根据输入内容自适应高度的代码
Oct 24 Javascript
Js nodeType 属性全面解析
Nov 14 Javascript
js创建数组的简单方法
Jul 27 Javascript
浅谈js内置对象Math的属性和方法(推荐)
Sep 19 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
Dec 02 Javascript
AngularJS constant和value区别详解
Feb 28 Javascript
Vue中fragment.js使用方法详解
Mar 09 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
Apr 25 Javascript
JavaScript模板引擎实现原理实例详解
Dec 14 Javascript
vue下的@change事件的实现
Oct 25 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
Aug 13 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 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堆栈与列队的学习
2013/06/21 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
jQuery validate插件功能与用法详解
2016/12/15 Javascript
Angular实现响应式表单
2017/08/04 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
[00:32]2018DOTA2亚洲邀请赛Liquid出场
2018/04/03 DOTA
python 输出一个两行字符的变量
2009/02/05 Python
python实现sublime3的less编译插件示例
2014/04/27 Python
python实现获取Ip归属地等信息
2016/08/27 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
Python面向对象程序设计示例小结
2019/01/30 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python地图绘制实操详解
2019/03/04 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
python数据爬下来保存的位置
2020/02/17 Python
美国知名艺术画网站:Art.com
2017/02/09 全球购物
C语言笔试题
2014/09/04 面试题
先进班级集体事迹材料
2014/01/30 职场文书
大学班级干部的自我评价分享
2014/02/10 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python