zoukankan      html  css  js  c++  java
  • JQuery:cookie插件

      JQuery居然没有操作cookie相关的函数,搜了下官方有个cookie的插件

           简单使用方法:

      <head> 
        <title>JQuery-Cookie插件</title> 
        <script type="text/javascript" src="jquery-1.4.js"></script> 
        <script type="text/javascript" src="jquery.cookie.js"></script> 
      </head> 
      <body> 
        <a href="#">设置cookie1</a><br> 
        <a href="#">设置cookie2</a><br> 
        <a href="#">获取cookie</a><br> 
        <a href="#">删除cookie</a><br> 
      </body> 
    </html> 
    <script type="text/javascript"> 
    $(function(){ 
       var COOKIE_NAME = 'test_cookie'; 
       //设置cookie,通过时间间隔 
       $('a').eq(0).click(function() { 
           $.cookie(COOKIE_NAME, 'test', { path: '/', expires: 1 }); 
           return false; 
       }); 
       // 设置cookie,到期时间 
       $('a').eq(1).click(function() { 
           var date = new Date(); 
           date.setTime(date.getTime() + (1 * 24 * 60 * 60 * 1000)); 
           $.cookie(COOKIE_NAME, 'test', { path: '/', expires: date }); 
           return false; 
       }); 
       // 获取 cookie 
       $('a').eq(2).click(function() { 
           alert($.cookie(COOKIE_NAME)); 
           return false; 
       }); 
       // 删除cookie 
       $('a').eq(3).click(function() { 
           $.cookie(COOKIE_NAME, null, { path: '/' }); 
           return false; 
       }); 
    }); 
    </script>

    插件的源代码也很简单:

     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(); 
            } 
            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; 
        } 
    };
    

      

  • 相关阅读:
    从代码书写理解指针,很重要
    指针参数 引用参数
    [转载]c/c++ 操作sqlite
    [转载]C#.NET DataTable扩展 ToList/Get/OrderBy/Where/ToPage
    [转载]宏定义
    【转载】scanf,sscanf高级用法
    C开发机顶盒实战应用代码片段
    指针精华口诀,短小精悍
    C# linq泛型 字典集合 排序
    c开发机顶盒实战应用代码片段2
  • 原文地址:https://www.cnblogs.com/jameslif/p/4973132.html
Copyright © 2011-2022 走看看