2009-12-02 2 views
5

나는 현재 URL의 마지막 부분을 잡기 위해 노력하고 있어요 :자바 스크립트를 사용하여 문서의 마지막 부분을 가져옵니다 .URL?

URL : http://example.com/test/action

나는 "조치"를 잡기 위해 노력하고 있습니다.

URL은 항상 해당 구조에서 일관됩니다. 그러나 마지막에는 몇 가지 추가 매개 변수가있을 수 있습니다.

이것은 프로토 타입 프레임 워크를 사용하는 레일 앱입니다. 레일에서는 params [: id]가됩니다.

+1

'추가 매개 변수'도 가져 오시겠습니까? – Christoph

답변

22

window.location.href.split()을 사용하고 마지막 항목을 가져올 수 있습니다.

예 :

var lastPart = window.location.href.split("/").pop(); 
+0

또는'Array # pop()' –

+0

좋은 제안, Chetan. 내 답변을 업데이트했습니다. – Sampson

+0

이것은 제이콥스의 해결책이 안되는 동안 배열을 만들 것이다. – Dementic

3

사용 document.location.href.substring(document.location.href.lastIndexOf('/'));

+1

URL의 쿼리 부분을 가져 오지 않으려면'location.href' 대신'location.pathname'을 사용합니다. 또한, MDC는 호환성 이유 때문에'document.location' 대신에'window.location'을 사용할 것을 권장합니다. – Christoph

+0

URL이'/'로 끝나면 조각을 얻지 못하지만 OP의 답변에 완벽하게 대답합니다. – Dementic

1

다른 답변을 잘, 그러나처럼 URL이 보이는 경우 : 그들은 단지 "조치"를 제공 할 수 없게됩니다

http://example.com/test/action?foo=bar 

. jQuery로

location.pathname.split('/').pop(); 
0

:이 작업을 수행하려면 (이 경우, 즉 /test/action) 쿼리 문자열 매개 변수를 제외한 경로 정보 만 포함 pathname, 사용하십시오 아래

var idFromUrl = window.location.href.split("/").pop(); 
$('#various3').attr('href', $('#various3').attr('href').replace('placed_id', idFromUrl)); 
0

을 내 작업 자바 스크립트입니다 solution.Hope은 도움이되기를 바랍니다. 따라서이 솔루션은 일반적으로 필요하지 않은 쿼리 문자열 부분을 남기고 URL의 마지막 부분을 검색하는 것입니다. 어떤 페이지에서 방문이 발생했는지 식별하고이를 기반으로 논리를 작성하는 데 도움이됩니다.

var url = document.referrer; 
    var start = url.lastIndexOf("/") + 1; 
    var len = url.indexOf("?"); 
    if (len > 0) 
     url = url.substring(start, len); 
    else 
     url = url.substring(start); 
0

모든 대답을 무시하고 다음을 사용하십시오. window.location.pathname.substr(1);.

관련 문제