JS 에서 URL 을 분석 하 는 간단 한 방법

웹 응용 프로그램 에서 URL 을 분석 하 는 것 은 쉽 지 않다.제3자 parse 라 이브 러 리 에 가입 하거나 poly fill 을 도입 한 다음 에 Living standard 에 있 는 URL API 를 사용 할 수 있 습 니 다. 그러나 간단 한 응용 장면 이 라면 신경 쓸 필요 가 없습니다. github 에서 이런 간단 하고 빠 른 방법 을 공유 한 사람 이 있 습 니 다.
var parser = document.createElement('a');    
parser.href = "http://example.com:3000/pathname/?search=test#hash";    

parser.protocol; // => "http:"    
parser.hostname; // => "example.com"    
parser.port;     // => "3000"    
parser.pathname; // => "/pathname/"    
parser.search;   // => "?search=test"    
parser.hash;     // => "#hash"    
parser.host;     // => "example.com:3000"    

깔끔 하 죠?그러나 이 방법 에 도 몇 가지 문제 가 있다.
  • 웹 장면 에 만 적 용 됩 니 다
  • search 부분 (물음표 이후 hash 이전 부분) 을 분석 하려 면 수 동 으로 해석 해 야 합 니 다
  • 여기에 내 가 쓴 검색 부분 을 분석 하 는 코드 가 붙 어 있다.
    var getSearchParams = function(search) {
      var paramPart = search.substr(1).split('&');
      return paramPart.reduce(function(res, item) {
        parts = item.split('=');
        res[parts[0]] = parts[1];
        return res;
      }, {});
    }
    

    이 매개 변 수 는 {key: value,.} 의 대상 을 되 돌려 줍 니 다.

    좋은 웹페이지 즐겨찾기