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.simple.tree插件 更简单,兼容性更好的无限树插件
Sep 03 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 Javascript
jquery的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
angularjs 处理多个异步请求方法汇总
Jan 06 Javascript
jQuery实现统计输入文字个数的方法
Mar 11 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
May 25 Javascript
关于JavaScript作用域你想知道的一切
Feb 04 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
Oct 15 Javascript
vue.js项目打包上线的图文教程
Nov 16 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
Aug 05 Javascript
angular6的响应式表单的实现
Oct 10 Javascript
解决elementui表格操作列自适应列宽
Dec 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去除数组中重复的元素并按键名排序函数
2008/08/18 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
php使用MySQL保存session会话的方法
2015/06/18 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
PHP会话控制实例分析
2016/12/24 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
php读取本地json文件的实例
2018/03/07 PHP
浅谈php://filter的妙用
2019/03/05 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
深入理解JavaScript定时机制
2010/10/29 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
2019/11/13 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
Python字典遍历操作实例小结
2019/03/05 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
python 日期排序的实例代码
2019/07/11 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
原生python实现knn分类算法
2019/10/24 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
python算的上脚本语言吗
2020/06/22 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
社会实践自我鉴定
2013/11/07 职场文书
遗嘱公证书标准样本
2014/04/08 职场文书
专职安全员岗位职责
2015/04/11 职场文书
表扬信范文
2015/05/04 职场文书
Nginx反向代理配置的全过程记录
2021/06/22 Servers
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
ant design vue的form表单取值方法
2022/06/01 Vue.js