2010-12-15 23 views
5
var myurl = window.location; 
    var pos = myurl.IndexOf("memberId"); 
    if (pos = -1) { 
     alert("false"); 
    } else { 
     alert("true"); 
    } 

Por alguna razón parece que no puedo conseguir que este método simple funcione. Chrome dice 'myurl no contiene el método' indexOf ''. ¿Cualquier razón?indexOf no funciona

+3

'si (pos = -1)' no debería que ser 'si (pos == -1) '? – Razor

+2

'window.location' es un objeto. Los objetos no poseen el método 'indexOf'. Incluso si tienes un error tipográfico allí, no funcionaría de ninguna manera. – jAndy

Respuesta

9

Tal error tipográfico, pero debería ser

myurl.indexOf 

minúsculas i.

Y location is an object, por lo que desea:

var myurl = window.location.href; 

(y todas las otras cosas que la gente dice en los comentarios y otras respuestas;))

Actualización: para ver qué tipo de propiedades que tiene un objeto, solo escriba, en este caso, window.location en la consola:

Chrome console

1

tratar var myurl = window.location.pathname;

3

window.location devuelve un objeto. Tal vez usted quería window.location.pathname? :-)

También hay un problema con esta línea:

if (pos = -1) 

Debería ser

if (pos == -1) 
0
var myurl = window.location.toString();