[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