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 相关文章推荐
学习YUI.Ext 第三天
Mar 10 Javascript
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
Mar 27 Javascript
js中函数声明与函数表达式
Jun 03 Javascript
coffeescript使用的方式汇总
Aug 05 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
Sep 16 Javascript
Js apply方法详解
Feb 16 Javascript
利用HBuilder打包前端开发webapp为apk的方法
Nov 13 Javascript
Bootstrap实现翻页效果
Nov 27 Javascript
使用webpack3.0配置webpack-dev-server教程
May 29 Javascript
node app 打包工具pkg的具体使用
Jan 17 Javascript
Vue的H5页面唤起支付宝支付功能
Apr 18 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
最小化数据传输――在客户端存储数据
2006/10/09 PHP
php定界符
2014/06/19 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
微信小程序3D轮播实现代码
2019/09/19 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
python控制台显示时钟的示例
2014/02/24 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
python 伯努利分布详解
2020/02/25 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
2020/08/20 Python
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
求职信怎么写范文
2014/05/26 职场文书
语文教研活动总结
2014/07/02 职场文书
自我管理的活动方案
2014/08/25 职场文书
电影小兵张嘎观后感
2015/06/03 职场文书
维护民族团结心得体会2016
2016/01/15 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL
Ubuntu Server 安装Tomcat并配置systemctl
2022/04/28 Servers