Foros del Web » Programando para Internet » Javascript »

abrir ventana desde un frame y cerrarla desde otro

Estas en el tema de abrir ventana desde un frame y cerrarla desde otro en el foro de Javascript en Foros del Web. Hola Llevo varios días con esto... Resulta que abro una ventana desde un frame oculto (frame1) Después de abrirla ejecuto otro asp pero en otro ...
  #1 (permalink)  
Antiguo 02/01/2004, 18:17
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
Pregunta abrir ventana desde un frame y cerrarla desde otro

Hola

Llevo varios días con esto... Resulta que abro una ventana desde un frame oculto (frame1) Después de abrirla ejecuto otro asp pero en otro frame oculto diferente (frame2). Desde este segundo frame quiero cerrar la ventana que abrí desde el frame1 pero no lo hace. Como puedo hacer referencia a ella??? ya intenté poniendole un nombre pero no lo reconoce en mi segundo frame. Se puede hacer esto??? Gracias y felíz año 2004 a todos!
  #2 (permalink)  
Antiguo 03/01/2004, 09:46
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola marisol

prueba con....


top.nombreDelIframeQueAbrioLaPopUp.ventana.close()

  #3 (permalink)  
Antiguo 03/01/2004, 14:30
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
Hola tunait, hice la prueba como me dijiste pero me regresa el siguiente mensaje de error:

top.left.miventana es nulo o no es un objeto

donde left es el nombre de mi frame
y miventana es el nombre que le puse a la ventana que abro desde left

:( :( :(
__________________
Marisol! :corazon:
  #4 (permalink)  
Antiguo 03/01/2004, 14:35
Usuario no validado
 
Fecha de Ingreso: junio-2003
Ubicación: Aguacate
Mensajes: 56
Antigüedad: 20 años, 10 meses
Puntos: 0
Preuba con...

//En el 1er frame
con esto Nombre = window.open(los parametros);
los encontraras en cualquier pagina de JS

//En el 2do frame
Nombre.close();
  #5 (permalink)  
Antiguo 03/01/2004, 14:43
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Asegúrate de abrir la popup como te indica andreumic, osea, usando miventana = window.open(etc....)

top.left.miventana.close()

Pero para cerrar usa la formula que te dí.

andreumic, desde un iframe a una ventana que abrió otro iframe hay que mencionar al iframe que abrió la ventana
  #6 (permalink)  
Antiguo 03/01/2004, 14:52
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
así la puse.......... pero no me funciona :(
__________________
Marisol! :corazon:
  #7 (permalink)  
Antiguo 03/01/2004, 14:55
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
me cachis... espera que te cuelgo un ejemplo
  #8 (permalink)  
Antiguo 03/01/2004, 15:08
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Mira, pruebalo aquí

http://www.tunait.com/pruebas/iframes/iframes.htm

  #9 (permalink)  
Antiguo 03/01/2004, 15:58
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
tunait

comparé tu código con el mío y además de faltarme el "return false" después de haber abierto la ventana, me dí cuenta que la liga que me abre el pop up la tengo que tener afuera de una forma... ¿? En mi caso estaba dentro de una forma y así no me funciona... (aunque hice pruebas agregando el nombre de la forma -en la que abro la ventana- al momento de cerrarla pero nada) ¿por qué pasa eso? ¿cómo le hago si mi código ya tiene una forma y quiero abrir una ventana?

Muuuchas gracias a tí a "andreumic" por la ayuda

Saludos :)
__________________
Marisol! :corazon:
  #10 (permalink)  
Antiguo 03/01/2004, 16:09
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
conchos pues es verdad que si el link está dentro de un form da error

pues no encuentro la forma de referenciarlo....

el link está hecho desde un <a href o desde un button de formulario??

p.d. por el return false ni te inmutes, se pone en los a href que llevan un onclick para que no ejecuten la acción del href del enlace. Resumiendo, al poner <a href="#" lo que hace el documento es pegar un salto al prinicipio del documento. Para evitar ese salto se pone return false al final de la sentencia de javascript que se le añada a ese enlace
  #11 (permalink)  
Antiguo 03/01/2004, 16:15
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Bueno, vamos a torear al navegador y listos, vamos a hacer que a fin y al cabo sea la ventana padre (top) la que abra la popup y sanseacabó

A tu página de iframes (la madre) ponle esto


<script language="JavaScript" type="text/javascript">
function ventana(){
miventana = window.open('','miventana','width=200,height=200')
}

</script>

Al link que debe abrir la popup ponle....

<a href="#" onclick="top.ventana();return false">abre popup </a>

Y para cerrar desde el otro iframe...


<a href="#" onclick="top.miventana.close()">cierra
popup </a>

Eso funciono a pesar del form

puedes probarlo en marcha en el mismo sitio que antes

http://www.tunait.com/pruebas/iframes/iframes.htm

  #12 (permalink)  
Antiguo 03/01/2004, 17:29
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
Listo!!!

El link lo tenía desde un botón de formulario pero también lo había probado como tú con un <a href> y de las 2 maneras mandaba error..., pero agregando la función ventana() desde la página principal YA FUNCIONÓ!!!!

Muchas gracias otra vez tunait !!!!!!!!!!!!!!!!!!!!!!!!

Este foro es una maravilla, lo mejor de lo mejor

Saludos
__________________
Marisol! :corazon:
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 02:17.