• 关于jQuery的cookies插件2.2.0版设置过期时间的说明


    欢迎转载,转载请注明作者RunningOn

     jQuery应该是各位用JavaScript做web开发的常用工具了,它有些插件能非常方便地操作cookie。

    不过非常让人郁闷的是,网上几乎所有人对于这些插件所做的关于cookie过期/失效时间的说明都是含混的或不正确的。我被这玩意搞得实在不行了,去看了其中两个插件的源代码终于明白了是怎么一回事。为避免更多人中招,我就写下我RunningOn个人对这些cookie插件的理解。

    首先要说明的是cookie插件国内主要流行的有两个,一个是早在2006年的不知道是什么版本号的叫cookie的插件,另一个是cookies 2.2.0版,注意后者的名字比前者多一个s,国内主要用的是后者。前者早已停止维护(或者说代码很少不需要维护)而且其下载链接已经从官网撤除了,后者的下载链接则到处是。你下的十有八九是后者,官方下载在:http://code.google.com/p/cookies/downloads/list

    在我写这日志之前,网上的对jQuery操作cookies的插件的使用介绍几乎都是不正确的,主要是对于过期时间的设置不对(如果我错怪了谁,那我先道个歉)。

    Cookies插件使用方法:

        1. 不用说,首先你得下载jQuery及Cookies插件。

        2. 在网页的<body>前加上:

    <script type="text/javascript" src="http://513394217.blog.163.com/blog/jquery-1.2.6.min.js"></script>
    <script type="text/javascript" src="http://513394217.blog.163.com/blog/jquery.cookies.2.2.0.min.js"></script>

     src=后面的那一长串就是下载的jQuery和Cookies插件的文件名,如果你和我不一样就改改。

     3. 如何添加/修改cookie并设定过期时间:

    $.cookies.set('cookie_id', 'cookie_value', { hoursToLive: 100 });

    上面是添加或修改一个cookie,并将其过期/失效时间设定在100小时之后,注意大括号是必须的。

        过期失效时间还有另外一个设置方式,指定一个绝对时间:

    expireDate = new Date();
    expireDate.setTime( expireDate.getTime() + ( 100 * 60 * 60 * 1000 ) );
    
    $.cookies.set('cookie_id', 'cookie_value', {expiresAt:expireDate});

    expireAt参数精确到毫秒。大括号里还可以添加path, domain, secure等参数,这里不做介绍。如果hoursToLive和expiresAt都指定了,则以expiresAt为准。

      4. 如何获取cookie

    $.cookies.get('cookie_id'); 

     5. 如何删除cookie

    $.cookies.del('cookie_id'); 

    常用的就是这么多了。cookies有更高级的用法,比如能将数组一口气全写入cookie,但不在本文的介绍范围了。

        最后再提醒一下,如果你看到其它地方介绍jQuery操作cookie时用的这样语法$.cookie.set('cookie_id', 'cookie_value', 7)或者$.cookie.set('cookie_id', 'cookie_value', {expires: 7}),都是针对插件cookie而不是cookies的,更令人烦躁的是有些这样的文章后面附的下载链接却是cookies的,郁闷。

  • 相关阅读:
    Leetcode 650
    Leetcode 292
    Leetcode 162
    Leetcode 600
    Leetcode 1894
    知识库
    Win2012R2(英文版)开放远程用户登录数量限制的设置
    Win2012R2(英文版)多账号登录,报错:Select a user to disconnect so that you can sign in的处理
    webstorm修改默认浏览器方法
    处理Chrome等浏览器无法上网,但微信能正常使用问题
  • 原文地址:https://www.cnblogs.com/jdsm/p/5132668.html
Copyright © 2020-2023  润新知