基于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代码
Mar 27 Javascript
javascript学习笔记(四) Number 数字类型
Jun 19 Javascript
ExtJS实现文件下载的方法实例
Nov 09 Javascript
原生javascript实现拖动元素示例代码
Sep 01 Javascript
Jquery网页内滑动缓冲导航的实现代码
Apr 05 Javascript
AngularJS入门教程之AngularJS指令
Apr 18 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
Aug 03 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 Javascript
BootStrap实现带关闭按钮功能
Feb 15 Javascript
react build 后打包发布总结
Aug 24 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 Javascript
深入理解Node内建模块和对象
Mar 12 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
javascript add event remove event
2008/04/07 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
2017/02/13 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[04:20]DOTA2-DPC中国联赛 正赛 VG vs LBZS 选手采访 1月19日
2021/03/11 DOTA
Python使用htpasswd实现基本认证授权的例子
2014/06/10 Python
Python装饰器简单用法实例小结
2018/12/03 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
聊聊python中的异常嵌套
2020/09/01 Python
如何在vscode中安装python库的方法步骤
2021/01/06 Python
暑期实习鉴定
2013/12/16 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
讲党性心得体会
2014/09/03 职场文书
先进班集体事迹材料
2014/12/25 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
撤诉状格式范本
2015/05/19 职场文书