当前位置: 首页 > news >正文

介绍一个基于jQuery的Cookie操作插件

在网页客户端,我们经常会遇到读取或者设置cookie的情况,如果用纯生的js我们可能会遇到一些兼容性带来的麻烦,这里给大家介绍一个比较实用jquery操作cookie的插件,插件的源代码如下:

jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') {
        options = options || {};
        if (value === null) {
            value = '';
            options = $.extend({}, options);
            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();
        }
        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 {
        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]);
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

具体用法如下:
1、设置cookie的值,比如我们要设置变量名为userid对应值为123的cookie,代码如下:
  $.cookie('userid','123');
2、新建一个cookie,并设置cookie的有效期 路径 域名等,代码如下:
  $.cookie('userid, '123', {expires: 7, path: '/', domain: 'jquery.com', secure: true});
注意:如果去掉后面{}的参数,新建后将以默认设置生效。
3、删除cookie,即把对应cookie值置为null,代码如下:
  $.cookie('userid', null);
4、读取cookie,如读取变量名为userid的cookie值,代码如下:
  var uId= $.cookie('userid');
怎么样,用jquery来操作cookie是不是很简单,你不用自己写太多的js,也不用为那些兼容性发愁,一切就这么顺利。

相关文章:

  • 并查集的应用
  • 37条常用Linux Shell命令组合
  • 运维小技巧:使用ss命令代替 netstat,和netstat说再见
  • 弹出框插件——dialog
  • 小强的HTML5移动开发之路(21)—— PhoneGap
  • dba基础课程-linux操作系统:系统信息命令
  • 定位被选中的select
  • 创新团队中常见的几种“怪人”
  • div/iframe自适应浏览器宽度高度问题
  • Linux下PHP支持oracle,安装oracle instant client,pdo_oci笔记
  • EBS JSP文件编译命令
  • git revert和reset区别
  • Yii防注入攻击笔记
  • 设为首页 和 收藏本站js代码 兼容IE,chrome,ff
  • sublime 个性化设置
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • java中的hashCode
  • Redis学习笔记 - pipline(流水线、管道)
  • Vue UI框架库开发介绍
  • 不上全站https的网站你们就等着被恶心死吧
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 分享几个不错的工具
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 使用Swoole加速Laravel(正式环境中)
  • 微服务入门【系列视频课程】
  • 主流的CSS水平和垂直居中技术大全
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • #### go map 底层结构 ####
  • #Lua:Lua调用C++生成的DLL库
  • #pragma once
  • #Z0458. 树的中心2
  • $.proxy和$.extend
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)创业的注意事项
  • (转载)hibernate缓存
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET MVC 验证码
  • .NET 发展历程
  • .NET 设计模式初探
  • .NetCore项目nginx发布
  • .NET业务框架的构建
  • .NET与 java通用的3DES加密解密方法
  • @property括号内属性讲解
  • @SuppressWarnings(unchecked)代码的作用
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • [20171102]视图v$session中process字段含义