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 相关文章推荐
jQuery事件 delegate()使用方法介绍
Oct 30 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
Dec 03 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
Dec 07 Javascript
浅析angularJS中的ui-router和ng-grid模块
May 20 Javascript
Bootstrap Paginator分页插件使用方法详解
May 30 Javascript
js实现密码强度检验
Jan 15 Javascript
原生JS实现垂直手风琴效果
Feb 19 Javascript
浅谈Node异步编程的机制
Oct 18 Javascript
面试题:react和vue的区别分析
Apr 08 Javascript
Ant Design Pro 下实现文件下载的实现代码
Dec 03 Javascript
JS实现纵向轮播图(初级版)
Jan 18 Javascript
何时/使用 Vue3 render 函数的教程详解
Jul 25 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
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
基于php编程规范(详解)
2017/08/17 PHP
JavaScript Split()方法
2015/12/18 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python遍历目录的4种方法实例介绍
2015/04/13 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
超市业务员岗位职责
2013/12/05 职场文书
中国梦的演讲稿
2014/01/08 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
高三学生评语大全
2014/04/25 职场文书
农村老人去世追悼词
2015/06/23 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
sql中mod()函数取余数的用法
2021/05/29 SQL Server
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript