Para poder abrir un PopUp o una ventana emergente desde Flash es necesario hacer una llamada a una función de JavaScript, la cual debe estar en el HTML/PHP/página donde se carga el SWF.
El siguiente código deberá insertarse dentro de los tags de <head> y </head>:
<script><!--
function abreVentana(pagina, nombre_ventana, ancho, alto, mostrar_statusbar, mostrar_menubar, mostrar_scrolls, redimensionar, mostrar_toolbar, mostrar_direccion)
{
var opciones = "top = 0, left = 0, width = " + ancho + ", height = " + alto + ", status = " + mostrar_statusbar + ", menubar = " + mostrar_menubar + ", scrollbars = " + mostrar_scrolls + ", resizable = " + redimensionar + ", toolbar = " + mostrar_toolbar + ", location = " + mostrar_direccion;
window.open(pagina, nombre_ventana, opciones);
}
// --></script>
La función abreVentana recibe 10 parámetros/argumentos, si bien estos parámetros podrían dejarse fijos dentro de la función de JavaScript, hacerlo de la forma como está escrito arriba le da el manejo a los archivos SWF de abrir las ventanas con las opciones que nosotros queramos. Imaginemos que tenemos dos SWFs en un mismo HTML y esos dos SWFs tienen que abrir dos ventanas emergentes de diferente tamaño; al hacerlo de esta forma no tendríamos que cambiar la función de JavaScript ni crear una nueva, simplemente tenemos que definir las propiedades de la ventana emergente dentro de los botones de nuestro JavaScript.
Los nombres de los parámetros que recibe la función son bastante explicativos, aún así explicaremos cada uno de ellos:
» pagina: URL de la página que se desea abrir en el PopUp
» nombre_ventana: Nombre de la vetana emergente o PopUp. Por ejemplo, suponiendo que tenemos dos botones y que uno abrirá la página “Contacto” con tamaño 400 x 250 y otro abrirá la página “Acerca de Nosotros” con tamaño 500 x 350. Si les pusieramos el mismo nombre de ventana y primero abriéramos la página de Contacto, al darle click al segundo botón y abrir la página de “Acerca de Nosotros” se nos estaría abriendo en la ventana de Contacto a un tamaño de 400 x 250
» ancho: Ancho (Width) en pixeles del tamaño de la ventana
» alto: Alto (Height) en pixeles del tamaño de la ventana
» mostrar_statusbar: yes si queremos que muestre la barra de estatus, no en caso contrario
» mostrar_menubar: yes si queremos que muestre la barra de menú, no en caso contrario
» mostrar_scrolls: yes si queremos que muestre los scrollbars, no en caso contrario
» redimensionar: yes si queremos que el usuario pueda redimensionar la ventana, no en caso contrario
» mostrar_toolbar: yes si queremos que muestre la barra de herramientas, no en caso contrario
» mostrar_direccion: yes si queremos que muestre la barra de navegación, no en caso contrario
Aunque se especifiquen estas propiedades dentro de una ventana emergente, es posible que algunas de estas propiedades no funcionen debido a la configuración personal del navegador del visitante.
Una vez insertado el código JavaScript, debes poner el siguiente código en nuestro botón de Flash (solamente debes cambiar el valor de los parámetros de la función de acuerdo a tus necesidades):
on(release) {
getURL("javascript:abreVentana('nombre_pagina.html', 'nombre_ventana', '500', '300', 'no', 'no', 'no', 'yes', 'no', 'no');");
}
La configuración de seguridad de tu Flash Player y navegador puede impedir que abras una ventana emergente de forma local. Si es tu caso entonces deberás subir tus archivos a un servidor y probarlo desde ahí.





Muchisimas gracias Carla; tu codigo esta funcionando perfectamente con IE9
Saludos desde Mexico.
Saludos desde Argentina.
He probado tu codigo para abirr ventanas emergentes, y funciona a la perfeccion en Firefox y Google Chrome, pero no he conseguido hacerlo funcionar en Internet Explorer, al igual que algunos comentarios anteriores.
Queria saber, en lo posible, me dijeran cual es la solucion, si la encontraron, para hacer que funcione este codigo en el Explorer. Este ultimo me da el mismo error que comentaron antes, cuando se llama a window.open.
Te estare infinitamente agradecido. Felicitaciones por la pagina, muy util y comoda de navegar.
Saludos
Diego.
Disculpa, lo más importante, estoy usando el Firefox y cuando intento abrir la ventana emergente, no actúa y sin embargo cuando ejecuto el archivo swf, es entonces cuando abre una página sin dirección en el navegador.
Ahora creo que está más digerible.
Gracias Carla.
Saludos Carla, Gracias por tu inagotable paciencia.
¿Como no? Tengo un problema, no soy capaz de encontrar el motivo por el que no puedo abrir el popup que le indico. El caso es que me abre una página en blando y no presenta ninguna dirección en el navegador, no se que estoy haciendo mal.
Me puedes ayudar, gracias por todo.
Hola Richard,
¿Qué es lo que llevas? ¿Qué problema tienes?
Saludos.
Hola Amiga Carla Macias, tengo un problema y es el siguiente necesito abrir una ventana con popup desde un archivo flash en AS2 (swf) que a su vez contendrá (en le popup) un archivo flash en AS3(swf) de forma local en el disco duro. Esto para poder cerrar la pagina en AS3 y poder regresar a la aplicación con AS2 sin problemas de compatibilidad con las funciones…. En lo que me pudiera ayudar o guiar se lo agradeceré.
Bueno, investigando un poco encontré que iexplore me da “argumento no válido” en window.open(pagina, nombre_ventana, opciones).
Ahora, ni idea cual parámetro está erróneo y en que punto.
Lo que hice fue utilizar el código pero no hacerlo “genérico” o sea: defino la función abreChat() y a window.open le predefino los parámetros.
Me cansé y lo dejo así
Gracias.
Carla:
La página anda perfecto, como dije: cuando termina de cargar completamente no hay errores, sólo cuándo se acciona sobre este botón. Y fue probada con anterioridad a esta modificación y estaba todo ok.
Saludos.
Gabriel:
¿Ya abriste esta página en IE y probaste que funcionara?
Si es así entonces es probable que te equivocaras al modificar el código.
Saludos.
Buenas noches, seguí tu ejemplo y en firefox funciona correctamente hasta el momento. Pero el problema está con iexplore y como es el que usa la mayoría, es preocupante.
A ver, el botón flash tiene el siguiente código:
–
on(release){
getURL(“javascript:abreVentana(‘chat.html’, ‘Live-Help’, ’270′, ’250′, ‘no’, ‘no’, ‘no’, ‘yes’, ‘no’, ‘no’);”);
}
–
Y en la página principal está el código que expusiste.
Al cargar la página con iexplore, el status bar me indica “Listo”, como que no hubo errores y cuando le doy al botón correspondiente que abre el pop-up, el estado cambia a “Listo pero con errores” y no abre nada.
Indicame como puedo iniciar un depurador en iexplore y te muestro la salida por si sirve de algo.