打造自己的js库(cookie篇)

                                        打造自己的js库(cookie篇)

这一篇是用来封装存、取cookie的方法。

namespace('gu.cookie');

extend(gu.cookie,{
    /**
     * 设置cookie,最好先用navigator.cookieEnable判断一下cookie是否可用
     * @param key
     * @param value
     * @param expires
     * @param domain
     * @param path
     * @returns {boolean}
     */
   set:function (key,value,expires,domain,path) {
       var cValue,cExpires,cDomain,cPath,cookieArr = [];
       if(!key){
           return false;
       }
       cValue = value ? encodeURIComponent(value) : '';
       cookieArr.push(key + "=" + cValue);
        if(!isNaN(expires)){
           var time = new Date();
           time.setTime(time.getTime()+(expires*24*60*60*1000));
           cExpires = time.toGMTString();
           cookieArr.push('expires=' + cExpires);
       }
       if(domain != undefined){
           cDomain = domain;
           cookieArr.push('domain=' + cDomain);
       }
       if(path != undefined){
           cPath = path;
           cookieArr.push('path=' + cPath);
       }
       document.cookie = cookieArr.join('; ');
   },
    /**
     * 获取cookie
     * @param key
     * @returns {string}
     */
   get:function (key) {
       var cookieArr = document.cookie.split('; ');
       for(var i=0;i<cookieArr.length;i++){
          if(cookieArr[i].indexOf(key) == 0){
              return decodeURIComponent(cookieArr[i].substring(cookieArr[i].split('=')[0].length + 1,cookieArr[i].length));
          }
       }
   },
    /**
     * 清除cookie
     * @param key
     * @param domain
     */
   clear:function (key,domain) {
       var cDate = new Date();
       gu.cookie.set(key,"",-2,domain);
   }
});

猜你喜欢

转载自blog.csdn.net/qq_39771254/article/details/81083605