2009-08-05 2 views
31

나는 이미 내 사이트에 js가 아주 적기 때문에 가능한 한 효율적으로 현재 URL의 도메인 이름을 가져 오는 기능을 원합니다.javacript를 사용하여 도메인/호스트 이름을 얻는 가장 빠른 방법

예 :

입력 : https://stackoverflow.com/questions/ask

결과 : stackoverflow.com

입력 : http://test.stackoverflow.com/questions/ask

결과 : test.stackoverflow.com

내가 가장 좋은 방법에 대한 추측 start는 document.location을 사용하지만, 나는 거기에서 무엇을 할 지에 대해 확률이 떨어져있다.

답변

39

는 시도 link text

window.location.hostnamedocument.location.hostname

3

와 "WWW"으로 필요하지 않은 것을 빼앗아

그것은 당신이 특히 여부를 사용자 도메인 이름을 사용하려고에 따라 달라집니다
58

지정된 포트 번호를주의하십시오. 당신 URL이 같은 포트 번호가 포함되어있는 경우 :

http://stackoverflow.com:80/question/ask

document.location.hostname

동안, document.location.host 더 의존하다 "stackoverflow.com:80을"

돌아갑니다 "stackoverflow.com"반환합니다 당신의 유스 케이스에.

스크립트가 다른 프레임/창에서 스크립트/DOM에 액세스 할 수 있는지 여부를 알기 위해 도메인 이름을 검사하는 경우에는 포트 번호가 중요합니다. 브라우저는 프레임/윈도우에서 교차 도메인 스크립트 액세스를 허용하지 않습니다. 도메인 이름을 비교하기 위해 다른 포트 번호를 다른 도메인으로 간주 할 수 있습니다.

14

출처의 호스트 이름 (http/https 포함)이 필요하면 document.location.origin을 사용하십시오.

관련 문제