JavaScript를 사용하여 리퍼러의 도메인 / 호스트 이름을 어떻게 얻습니까?
다음을 수행하여 현재 페이지의 호스트 이름을 얻을 수 있다는 것을 알고 있습니다.
var myhostname = location.hostname;
그러나 리퍼러의 호스트 이름은 어떻게 얻습니까? 리퍼러를 얻을 수 있습니다.
var referrer = document.referrer;
그러나 불행히도 document.referrer.hostname
JavaScript 에서는 사용할 수 없습니다 . 이 값을 어떻게 얻을 수 있습니까?
이것이 유용한 예는 누군가 google.com에서 링크를 클릭하는 경우입니다. 리퍼러 (페이지 및 쿼리 문자열이 아님)에서 google.com을 검색 할 수 있기를 원합니다.
그것을 파싱함으로써. document.referrer.split( '/' );
가까이 다가 갈 것입니다. 아니면 이것 좀 봐
http://blog.stevenlevithan.com/archives/parseuri
리퍼러가 브라우저에서 오는 경우 정상일 것입니다.하지만 더 강력한 구문 분석을 원할 경우를 대비합니다.
이것은 할 것입니다 :
document.referrer.split('/')[2];
function parseURL(url) {
var a=document.createElement('a');
a.href=url;
return a.hostname;
}
이것은 상대적으로 오래된 질문이지만 팔로워에게 도움이 될 수 있습니다.
사용할 수 있습니다 var referrer = new URL(document.referrer).hostname
.
https://developer.mozilla.org/en-US/docs/Web/API/URL.URL을 참조 하십시오 .
regexp를 사용하여이 데이터를 추출 할 수 있습니다.
string.match(/^http([s]?)://([a-zA-Z0-9-_\.]+)(:[0-9]+)?/);
프로토콜이 포함되어 있지만 document.origin
작동합니다. 경로 정보가 포함되어 있지 않은 Origin 헤더를 통해 작동합니다.
안녕하세요이 기능을 사용하여 도메인 이름을 가져옵니다.
function getDomain(url) {
if (url) {
var match = /(?:https?:\/\/)?(?:\w+:\/)?[^:?#\/\s]*?([^.\s]+\.(?:[a-z]{2,}|co\.uk|org\.uk|ac\.uk|org\.au|com\.au))(?:[:?#\/]|$)/gi
.exec(url);
return match ? match[1] : null;
} else
return null;
}
'Programing' 카테고리의 다른 글
라벨 태그에서 "for"는 무엇입니까? (0) | 2020.11.24 |
---|---|
Android-브로드 캐스트 인 텐트 ACTION_SCREEN_ON / OFF 수신 방법 (0) | 2020.11.24 |
모델 및 ViewDataDictionary가있는 asp mvc 부분-ViewDataDictionary에 어떻게 액세스합니까? (0) | 2020.11.24 |
출력 파일을 열 수 없습니다. 권한이 거부되었습니다. (0) | 2020.11.24 |
Git에서 커밋 그룹을 하나로 축소 (0) | 2020.11.24 |