2010-05-17 13 views
10

Quiero mostrar un cierto mensaje en una página determinada.Si la URL contiene esto hazlo en Javascript

Supongamos que el nombre de la página que quiero mostrar algo en que se llama "foo_page.html",

¿Cómo puedo hacer esto usando javascript?

+0

Proporcione más detalles. – SLaks

Respuesta

28

Usted puede hacerlo de esta manera:

if(document.URL.indexOf("foo_page.html") >= 0){ 
...show your message 
} 
+3

Probablemente quiera '> = 0' allí. – Syntactic

+0

Buen lugar, gracias. Editado – GShenanigan

1
var index = document.location.lastIndexOf("/"); 
var filename = document.location.substr(index); 

if(filename.indexOf("foo_page.html")>-1){ 
    alert("OK"); 
} 
1

Puede utilizar document.location de averiguar en qué URL está el visitante

Prueba esto:

<script type="text/javascript"> 
var currentPage = document.location.href.substring(document.location.href.lastIndexOf("/")+1, document.location.href.length); 
</script> 

Su "currentPage" variable de ahora debe contener el nombre de la página que se encuentra. Puede usar eso para seleccionar una acción.

0
var loc = window.location.pathname.split("/"), 
    size = loc.length 

    alert(loc[size]) 

le ofrece la última parte dividida por "/" la mayoría de las veces el archivo html, php o lo que sea. Pero usaría clases en tu cuerpo para reconocer dónde estás. O simplemente verifique si el elemento con el que desea hacer algo existe en la página. Antes de ejecutar su función de esta manera

function example(element) { 
     if(getElementById(element).length) { 
      // now you are sure that a element exists on the page 
     }else{ 
     return false; //if not just do nothing 
     } 
    } 
    example("myId") 
+1

'loc [size-1]', o simplemente: 'var filename = location.pathname.split ('/'). Pop();'. (¿Y por qué '.length' en el nodo del elemento?) – bobince

+0

¿Qué está haciendo pop() exactamente? longitud para obtener la última pieza de la matriz. Thx para el tipp – meo

Cuestiones relacionadas