Foros del Web » Programando para Internet » Javascript »

Que falla aquí?

Estas en el tema de Que falla aquí? en el foro de Javascript en Foros del Web. Código PHP: < body onLoad = "if (!opener) window.location.href=www.google.com" >  Es de un post anterior de Kaopectate y no consigo que funcione. Salud!!...
  #1 (permalink)  
Antiguo 11/02/2003, 14:34
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Que falla aquí?

Código PHP:
<body onLoad="if (!opener) window.location.href=www.google.com"
Es de un post anterior de Kaopectate y no consigo que funcione.

Salud!!
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #2 (permalink)  
Antiguo 11/02/2003, 14:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola ShadowII:

Ante la duda es mejor hacer las cosas por partes...

Por ejemplo:
en el head
<script...>
function ini()[
if (!opener) location.href="bla, bla"
}
</script>
...

<body onload="ini()"...>

Saludos
  #3 (permalink)  
Antiguo 11/02/2003, 15:29
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Algo así?

En head:
Código PHP:
<script language="JavaScript"
function 
open() { }
if (!
openerlocation.href="http://www.google.com"  </script> 
En body:
Código PHP:
<body onLoad="open"

La idea es la siguiente: si abro esa pagina desde la principal se abre como popUp y si la abro directamente se redirecciona a google.


Opiniones de expertos?
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #4 (permalink)  
Antiguo 11/02/2003, 16:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

2 cosillas:

La primera estoy seguro de que te equivocaste al teclear... la forma de poner las llaves ¿?...

La segunda no creo que funcione bien con ese nombre ya que creo que open es una de esas palabras reservadas...

... y aparte de las cosas del directo ¿? parece estar bien...

Yo había hecho algo parecido cerrando la página en cuestión, pero pedía confirmación para el cierre en explorer.

Creo que es buena idea.

Saludos
  #5 (permalink)  
Antiguo 11/02/2003, 17:15
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Gracias otra vez caricatos

Verás, no caí en lo del open. Ya lo cambié por cerrar y listo.
Lo de las llaves lo puse así a posta. Lo curioso es que si lo pruebo off line funciona perfectamente pero no en el servidor.

Bueno, hay veces que el servidor tarda en pillar los cambios y por mas que borro la caché esto sigue igual.

¿Por que lo de las llaves?

Recuerda que soy un mero principiante , no me castigues mucho
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #6 (permalink)  
Antiguo 11/02/2003, 17:35
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Funcionando!!!

Acabo de borrar cookies. temporales y reiniciar.

El codigo que estoy usando es:
<head>
<script language="JavaScript">
function cerrar() {
}
if (!opener) location.href="http://www.google.com" </script>
</head>

<body onLoad="cerrar" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

Si puedes pruebalo, me has dejao KO con lo de las llaves

Salud!!!
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #7 (permalink)  
Antiguo 11/02/2003, 18:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Te funciona porque el head es algo así como el sitio donde se inicializan las cosas y después de la función cerrar se encontraba la linea que necesitas.

Te explico:
El cuerpo de todo método o función debe ir entre llaves, o sea que lo correcto sería:
function cerrar() { if (!opener) location.href="http://www.google.com" }

Si intentas hacer eso con alguna etiqueta del cuerpo de la página no te hubiera hecho el más mínimo caso...

Por ejemplo, cambiar el estilo de un botón... Usando el mismo ejemplo con la página que usé de prueba:

<html>
<head>
<script language="javascript">
function cerrar() { if (!opener) location.href="http://www.google.com" }

function ini() {
// document.getElementById("boton").style.color = "red";
}
document.getElementById("boton").style.color = "red";
</script>
</head>
<body onload="ini()">
<input id=boton type="button" value=llamada onclick="cerrar()" >
</body>
</html>

Fíjate que la funcion ini() tiene solo una línea y está desabilitado (como comentario), y detrás de la llave cerrada que cierra la función, está la misma línea que hay un poco más arriba pero no es comentario, o sea que tendría que funcionar, pero no funciona...
Luego prueba con la misma función pero sin el comentario...

Espero que te sirva

Saludos
  #8 (permalink)  
Antiguo 11/02/2003, 18:22
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Re

Cita:
El cuerpo de todo método o función debe ir entre llaves, o sea que lo correcto sería:
function cerrar() { if (!opener) location.href="http://www.google.com" }
Así lo hice en principio, creí que era lo correcto pero no funcionaba ni en en local ni en remoto.

Luego lo cambié dejando fuera de las llaves el if... y funcionó en local solamente.

Ahora, tal y como lo hice funciona en remoto. Si la sintaxis está mal, no entiendo por que rula.
__________________
Si lo llego a saber...!!!

Corporación Malaestética
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:56.