반응형
자바 스크립트에서 새 위치 객체 만들기
자바 스크립트에서 새로운 위치 객체를 생성 할 수 있습니까? 나는 URL을 문자열로 가지고 있으며 자바 스크립트가 이미 제공하는 것을 활용하여 다른 부분에 액세스하고 싶습니다.
다음은 제가 말하는 내용의 예입니다 (이게 작동하지 않는다는 것을 알고 있습니다).
var url = new window.location("http://www.example.com/some/path?name=value#anchor");
var protocol = url.protocol;
var hash = url.hash;
// etc etc
이와 같은 것이 가능합니까 아니면 본질적으로이 개체를 직접 만들어야합니까?
예를 들어 앵커 요소를 사용하여 URL 부분을 추출 할 수 있습니다.
var url = document.createElement('a');
url.href = "http://www.example.com/some/path?name=value#anchor";
var protocol = url.protocol;
var hash = url.hash;
alert('protocol: ' + protocol);
alert('hash: ' + hash);
모든 최신 브라우저와 IE 5.5 이상에서도 작동합니다.
표준 URL 객체를 사용하는 것은 어떻습니까?
var url = new URL("http://www.example.com/some/path?name=value#anchor");
var protocol = url.protocol;
var hash = url.hash;
경고 :이 인터페이스는 약간 새로운 인터페이스이므로 트랜스 파일러를 사용하지 않는 경우 호환성 표를 확인하고 대상 브라우저에서 테스트를 수행하십시오.
앵커 요소의 힘을 활용할 수 있습니다.
var aLink = document.createElement("a");
aLink.href="http://www.example.com/foo/bar.html?q=123#asdf";
alert(aLink.pathname);
정규식에서 구문 분석하여 부분을 일치로 가져올 수 있습니다. 지금은 전체 코드가 없지만 쿼리 데이터를 가져 오는 데 사용할 수 있습니다.
var myUrl = window.location.href;
var matches = myUrl.match(/([^\?]+)\?(.+)/);
var queryData = matches[2];
match [0]은 전체 문자열이고, matches (1)은 URL의 첫 부분 (최대?까지)입니다. 원하는 경우 문자열 url의 각 부분을 구문 분석하는 정규식을 작성할 수 있습니다.
이를 위해 이미 많은 라이브러리 중 하나를 사용할 수도 있습니다.
참고 URL : https://stackoverflow.com/questions/3213531/creating-a-new-location-object-in-javascript
반응형
'Program Tip' 카테고리의 다른 글
Python 3.4 asyncio 코드를 테스트하는 방법은 무엇입니까? (0) | 2020.11.14 |
---|---|
RxJS에서`Scheduler` 란 무엇입니까? (0) | 2020.11.14 |
Visual Studio에서 실행하기 전에 F5가 프로젝트를 다시 빌드하지 않는 이유는 무엇입니까? (0) | 2020.11.13 |
대문자를 소문자로 변환하는 방법 (0) | 2020.11.13 |
git pull 후 코드 변경 사항을 보는 방법은 무엇입니까? (0) | 2020.11.13 |