基于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 相关文章推荐
MooTools 1.2介绍
Sep 14 Javascript
锋利的jQuery 第三章章节总结的例子
Mar 23 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
Jan 09 Javascript
Javascript和Java获取各种form表单信息的简单实例
Feb 14 Javascript
jquery实现简单的轮换出现效果实例
Jul 23 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
May 17 Javascript
jQuery获取多种input值的简单实现方法
Jun 20 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
Nov 23 Javascript
基于Three.js插件制作360度全景图
Nov 29 Javascript
JavaScript 函数节流详解及方法总结
Feb 09 Javascript
element-ui中select组件绑定值改变,触发change事件方法
Aug 24 Javascript
javascript解析json格式的数据方法详解
Aug 07 Javascript
基于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
PHP5 面向对象程序设计
2008/02/13 PHP
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
php foreach、while性能比较
2009/10/15 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
PHP合并数组函数array_merge用法分析
2017/02/17 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
2016/11/01 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
python实现rsa加密实例详解
2017/07/19 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
Django 连接sql server数据库的方法
2018/06/30 Python
python中使用print输出中文的方法
2018/07/16 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
Python----数据预处理代码实例
2019/03/20 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
Django 解决开发自定义抛出异常的问题
2020/05/21 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
上党课的心得体会
2014/09/02 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS