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 相关文章推荐
JS 自动完成 AutoComplete(Ajax 查询)
Jul 07 Javascript
javascript对象之内置对象Math使用方法
Apr 16 Javascript
javascript中打印当前的时间实现思路及代码
Dec 18 Javascript
toggle()隐藏问题的解决方法
Feb 17 Javascript
JavaScript数组前面插入元素的方法
Apr 06 Javascript
javascript使用输出语句实现网页特效代码
Aug 06 Javascript
js生成随机数的过程解析
Nov 24 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
浅谈js的解析顺序 作用域 严格模式
Oct 23 Javascript
vue.js父子组件通信动态绑定的实例
Sep 28 Javascript
jQuery pager.js 插件动态分页功能实例分析
Aug 02 jQuery
解决layer图标icon不加载的问题
Sep 04 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生成随机密码的三种方法小结
2010/09/04 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
js中的this关键字详解
2013/09/25 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
详解JavaScript对象序列化
2016/01/19 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
JS验证不重复验证码
2017/02/10 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
vue-cli入门之项目结构分析
2017/04/20 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
2017/05/25 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
浅谈angular2路由预加载策略
2017/10/04 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Python实现随机选择元素功能
2017/09/14 Python
Django实现支付宝付款和微信支付的示例代码
2018/07/25 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
python实现代码统计程序
2019/09/19 Python
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
中式餐厅创业计划书范文
2014/01/23 职场文书
同事吵架检讨书
2014/02/05 职场文书
2014年财政所工作总结
2014/11/22 职场文书
2015年小学开学寄语
2015/02/27 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
李强为自己工作观后感
2015/06/11 职场文书
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis
前端JS获取URL参数的4种方法总结
2022/04/05 Javascript