Foros del Web » Programando para Internet » Javascript »

opener.location.href falla con firefox

Estas en el tema de opener.location.href falla con firefox en el foro de Javascript en Foros del Web. Hola a todos. Estoy intentando recargar una página desde un popup cerrando éste. Para ello utilizo una función con opener.location.href que funciona perfectamente en IE ...
  #1 (permalink)  
Antiguo 27/02/2012, 09:35
 
Fecha de Ingreso: febrero-2012
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 0
opener.location.href falla con firefox

Hola a todos.

Estoy intentando recargar una página desde un popup cerrando éste. Para ello utilizo una función con opener.location.href que funciona perfectamente en IE pero no en Firefox, donde me indica que "opener.location.href is not a function".

No soy muy ducho en javascript así que seguramente sea una tontería...

Aquí las dos funciones que utilizo para recargar la página madre y cerrar el popup:

Cita:
function nenlaza(link)
{
opener.location.href("url_que_utilizo.asp?Id="+lin k);
}

function ncerrar()
{
window.close();
}
Y aquí el enlace:

Cita:
html = html + ('<a href=# onclick="nenlaza('+id+'); ncerrar();">Ver más</a>');
El "html" y el "id" es la información que incluyo dentro de una Infowindow de Google maps que extraigo de un xml. El mapa está dentro del popup, y al pinchar en "Ver más" debería cerrarme el popup y recargar la página principal a la que indica el "id".

Lo he intentado tanto con window.opener.location.href como con opener.location.href, y de las dos maneras funciona en Explorer pero no en Firefox.

Os agradezco de antemano cualquier información. Soy nuevo aquí y sé que no me explico precisamente como un libro abierto , así que si necesitáis más datos decídmelo.

Un saludo.
  #2 (permalink)  
Antiguo 27/02/2012, 09:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: opener.location.href falla con firefox

¡buenas!
absolutamente, location.href no es una función. de hecho, debería fallar en todos los navegadores. al intentar usar algo de una forma que no esta destinada el interprete javascript detecta el error y colapsa el resto de la ejecucción. location.href es un string y ningún string puede ser invocado como una función. entre el paréntesis y el nombre tienes que ubicar la operación de asignación -símbolo "es igual". una asignación porque lo que tu quieres es "asignar" un valor a una propiedad. en todo caso, el par de paréntesis (aunque válido) tampoco es necesario.
  #3 (permalink)  
Antiguo 27/02/2012, 09:55
 
Fecha de Ingreso: febrero-2012
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: opener.location.href falla con firefox

Ahora funciona perfectamente.

Me tenía loco, no había visto lo del "=". Al funcionar en IE sin problemas me estaba desquiciando completamente, sobre todo porque normalmente es con IE con el que tengo problemas

Gracias por la rapidez y la claridad.
  #4 (permalink)  
Antiguo 29/02/2012, 09:27
 
Fecha de Ingreso: febrero-2012
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: opener.location.href falla con firefox

Hablando de Explorer... tengo un nuevo problema.

En algunos casos necesito que la dirección que se tiene que cargar en el opener desde el popup sea diferente. Es decir, que si el opener original era

www.fulano.com/blablabla

y el opener también pertenece a www.fulano.com, en algunas ocasiones la recarga del opener tiene que hacerse a

www.mengano.com/blablabla

En ese caso, y sólo en ese caso, el Explorer me salta el aviso de pop-up, y cuando lo autorizo me abre www.mengano.com/blablabla en una nueva ventana, no en el opener original.

No es un problema vital, pero sí resulta muy incómodo, porque además la ventana nueva se abre por debajo de la original...

¿Alguna sugerencia para resolver esto?

De nuevo, muchísimas gracias.

Etiquetas: falla, firefox, funcion, google, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:08.