객체로 쿠키의 JavaScript 코드 가져오기

6841 단어 JavaScript

쿠키 목록을 개체로 가져오는 JS 코드


document.웹 페이지 API 인터페이스 | MDN에 기재된 방법 중 같은 이름의 쿠키가 여러 개 있을 때 값을 하나만 꺼낼 수 있는데, 불편한 점이 있어 제작됐다.
다음 코드를 통해 쿠키를 가져오면 객체에 쿠키의 값을 배열로 저장하므로 같은 이름의 쿠키가 여러 개 있어도 모든 값을 꺼낼 수 있습니다.

코드


getCookieObj.js
var cookie = {
  getObj : function(){
    var cookie = document.cookie;
    var cookieObj = {};
    if(!!cookie){
      Array.prototype.forEach.call(cookie.split(';'),function(c){
       var array = [c][0].split('=').map(function(a){return a.trim()});
       var key = ~c.indexOf('=')? unescape(array[0]) : '';
       var val = ~c.indexOf('=')? unescape(array[1]) : unescape(array[0]);
       if(!cookieObj.hasOwnProperty(key)){
         cookieObj[key] = [val];
       }else{
         cookieObj[key].push(val);
       }
      });
    }
    return cookieObj;
  },
  getByName : function(name){
    var ret = [];
    var cookieObj = this.getObj();
    if(cookieObj.hasOwnProperty(name)){
      ret = cookieObj[name];
    }
    return ret;
  },
  deleteByName : function(name,path){
    var str = escape(name) + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT' + (path ? '; path=' + path : '');
    document.cookie = str;
  }
};

실행 예



완성

좋은 웹페이지 즐겨찾기