[javascript] JavaScript에서 매개 변수없이 URL을 얻는 방법은 무엇입니까?

내가 사용하는 경우 :

alert(window.location.href);

쿼리 문자열을 포함한 모든 것을 얻습니다. 기본 URL 부분을 얻는 방법이 있습니까?

http://mysite.com/somedir/somefile/

대신에

http://mysite.com/somedir/somefile/?foo=bar&loo=goo



답변

이것은 가능하지만 location객체 에서 수동으로 빌드해야 합니다 .

location.protocol + '//' + location.host + location.pathname


답변

모든 대답은 다소 복잡합니다. 여기:

var url = window.location.href.split('?')[0];

경우에? 존재하지 않으면 여전히 첫 번째 인수를 반환합니다. 첫 번째 인수는 전체 URL에서 검색어 문자열을 뺀 것입니다.

또한 프로토콜에 구애받지 않으므로 ftp, itunes.etc와 같은 용도로도 사용할 수 있습니다.


답변

사용하다 indexOf

var url = "http://mysite.com/somedir/somefile/?aa";

if (url.indexOf("?")>-1){
url = url.substr(0,url.indexOf("?"));
}


답변

var url = "tp://mysite.com/somedir/somefile/?foo=bar&loo=goo"

url.substring(0,url.indexOf("?"));


답변

정규식을 사용할 수 있습니다. window.location.href.match(/^[^\#\?]+/)[0]


답변

을 연결 origin하고 pathname, 같은 포트 example.com:80가 있으면 포함시킬 수도 있습니다.

location.origin + location.pathname


답변

문서 를 보면 window객체 에서 관심있는 속성 만 취할 수 있습니다.

protocol + '//' + hostname + pathname