Javascript, чтобы захватить последнюю часть документа .URL?

Я пытаюсь захватить последнюю часть текущего URL:

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

Я пытаюсь захватить "действие".

URL всегда согласован в этой структуре. Но у него могут быть дополнительные параметры в конце.

Это приложение rails, использующее структуру прототипа. В рельсах это будут params [: id].

Ответ 1

Вы можете просто использовать . split() на window.location.href и захватить последнюю запись.

Пример:

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

Ответ 2

использовать document.location.href.substring( document.location.href.lastIndexOf( '/' ) );

Ответ 3

Другие ответы в порядке, однако, если ваш URL-адрес выглядит следующим образом:

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

они не смогут дать вам просто "действие". Для этого вы должны использовать pathname, который содержит только информацию о пути, исключая параметры строки запроса (т.е. /test/action в этом случае ):

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

Ответ 4

с jquery:

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

Ответ 5

Ниже мое рабочее решение для javascript. Надеюсь, что это поможет кому-то и, следовательно, публикации. Это решение состоит в том, чтобы извлечь последнюю часть 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);

Ответ 6

Игнорировать все ответы и использовать это: window.location.pathname.substr(1); просто.