jquery cookie的用法总结


Posted in Javascript onNovember 18, 2013

jQuery cookie是个很好的cookie插件,大概的使用方法如下
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 相关文章推荐
cnblogs TagCloud基于jquery的实现代码
Jun 11 Javascript
TextArea设置MaxLength属性最大输入值的js代码
Dec 21 Javascript
javascript打开word文档的方法
Apr 16 Javascript
js实现select二级联动下拉菜单
Apr 17 Javascript
Angularjs中UI Router的使用方法
May 14 Javascript
JS利用cookies设置每隔24小时弹出框
Apr 20 Javascript
js 用于检测类数组对象的函数方法
May 02 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
JS实现的文件拖拽上传功能示例
May 21 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
Dec 05 Javascript
vue router 组件的高级应用实例代码
Apr 08 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 Javascript
JS JSON对象转为字符串的简单实现方法
Nov 18 #Javascript
javascript获取ckeditor编辑器的值(实现代码)
Nov 18 #Javascript
js 页面元素的几个用法总结
Nov 18 #Javascript
封装的jquery翻页滚动(示例代码)
Nov 18 #Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
Nov 18 #Javascript
简单的代码实现jquery定时器
Nov 17 #Javascript
禁止空格提交表单的js代码
Nov 17 #Javascript
You might like
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
解读ES6中class关键字
2017/11/20 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
Python找出list中最常出现元素的方法
2016/06/14 Python
Python 装饰器使用详解
2017/07/29 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
django celery redis使用具体实践
2019/04/08 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
Python程序暂停的正常处理方法
2019/11/07 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
.NET初级开发工程师面试题
2014/04/18 面试题
文明宿舍获奖感言
2014/02/07 职场文书
路政管理求职信
2014/06/18 职场文书
法人委托书
2014/07/31 职场文书
群众路线自查报告及整改措施
2014/11/04 职场文书
2015年外联部工作总结
2015/04/03 职场文书
小学教师见习总结
2015/06/23 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL