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 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
Jan 06 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
Feb 07 Javascript
两种方法实现文本框输入内容提示消失
Mar 17 Javascript
jquery属性过滤选择器使用示例
Jun 18 Javascript
js动态修改整个页面样式达到换肤效果
May 23 Javascript
JS加载器如何动态加载外部js文件
May 26 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
Aug 17 Javascript
微信小程序图片宽100%显示并且不变形
Jun 21 Javascript
JS实现简单获取最近7天和最近3天日期的方法
Apr 18 Javascript
区别JavaScript函数声明与变量声明
Sep 12 Javascript
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
javascript全局自定义鼠标右键菜单
Dec 08 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邮件类
2007/01/03 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
php用数组返回无限分类的列表数据的代码
2010/08/08 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
PHP is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
thinkphp分页集成实例
2017/07/24 PHP
深入分析PHP设计模式
2020/06/15 PHP
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
2019/11/26 Javascript
使用PYTHON创建XML文档
2012/03/01 Python
wxPython使用系统剪切板的方法
2015/06/16 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
2017/11/01 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
技校毕业生的自我评价
2013/12/27 职场文书
商场经理竞聘演讲稿
2014/01/01 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
追悼会悼词大全
2015/06/23 职场文书
获奖感言怎么写
2015/07/31 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
Redis如何一键部署脚本
2021/04/12 Redis