2009-12-02 14 views
5

estoy tratando de tomar la última parte de la URL actual:Javascript para capturar la última parte del documento.URL?

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

Estoy tratando de apoderarse de la "acción".

La URL siempre es coherente en esa estructura. Pero puede tener algunos params adicionales al final.

Esto se encuentra en una aplicación de rieles que utiliza el prototipo de marco. En los rieles sería params [: id].

+1

¿Quieres obtener los 'params extra' también? – Christoph

Respuesta

22

Puede simplemente usar .split() en window.location.href, y tomar la última entrada.

Ejemplo:

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

o 'Array # pop()' –

+0

Buena sugerencia, Chetan. Actualizado mi respuesta. – Sampson

+0

Esto creará una matriz (el método de división lo hará) mientras que la solución de Jacobs no lo hará. – Dementic

3

uso document.location.href.substring(document.location.href.lastIndexOf('/'));

+1

Iría con 'location.pathname' en lugar de' location.href' si no desea tomar la parte de consulta de la URL; también, MDC recomienda usar 'window.location' en lugar de' document.location' por razones de compatibilidad – Christoph

+0

Esto no conseguirá el fragmento si la url termina con '/', pero responde perfectamente la respuesta del OP. – Dementic

1

Las otras respuestas están muy bien, sin embargo, si su URL será similar a:

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

que dejará de dar sólo la "acción". Para ello tendrá que utilizar pathname, que contiene sólo la información de la ruta exclusiva de los parámetros de cadena de consulta (es decir /test/action en este caso):

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

con jQuery:

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

continuación es mi Javascript a trabajar solución.Espero que ayude a alguien y, por lo tanto, publique. Esta solución consiste en recuperar la última parte de la URL, dejando la parte de la cadena de consulta generalmente no necesaria. Ayuda a identificar desde qué página ocurrió la visita y escribir lógica en función de eso.

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

Ignorar todas las respuestas y utilizar esta: window.location.pathname.substr(1); fácil como eso.

Cuestiones relacionadas