Abrir PopUp o ventana emergente desde Flash
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í.
Si te gustó esta entrada anímate a escribir un comentario o suscribirte al feed y obtener los artículos futuros en tu lector de feeds.
Comentarios
Hola Juan Manuel,
El problema no es que toda la página web esté en Flash.
Revisando tu código fuente veo que no tienes la parte de javascript que debe ser llamada.
Deberás agregar esto antes de cerrar el tag head (< /head> sin espacio):
-
<script language="javascript">
-
<!--
-
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>
Haz click sobre el borde café (donde dice Texto Plano) para poder seleccionar y copiar el código.
Saludos.
Me asombra la prontitud y rapidez con la que se atendió mi inquietud, muchas gracias..
Ya coloque el código en la pagina según su recomendación, pero aun tengo problemas para cargar el popup, que puede estar pasando?
Hola Juan Manuel,
Creo que ya encontré el problema. Si el código de tu botón en Flash es el mismo que aparece en el código fuente de tu página:
-
<a href="javascript:abreVentana('http://www.sonvaradero.com/Un%20sello%20de%20sabor.html', 'Un Sello de Sabor', '0', '0', '450', '350', 'no', 'no', 'no', 'no', 'no', 'no');" rel="nofollow"></a>
-
<a href="javascript:abreVentana('http://www.sonvaradero.com/Paseando%20por%20la%20Habana.html', 'Paseando por la Habana', '0', '0', '450', '350', 'no', 'no', 'no', 'no', 'no', 'no');" rel="nofollow"></a>
Entonces hay dos errores:
- El primero es que el nombre de la ventana no debe llevar espacios (truena en Internet Explorer), cámbialos a Un_Sello_de_Sabor o bien Sello o incluso Sabor (el nombre de la ventana no importa mucho, sólo sirve para que en caso de tener varios PopUps no se te abran todos en la misma venana) y el otro por Paseando_por_la_Habana o bien Paseando.
- El segundo error es que le estás pasando dos parámetros de más a la función (los dos primeros ceros que pusiste). Por lo tanto, puedes cambiar el código de tus botones por lo siguiente:
-
on(release)
-
{
-
getURL("javascript:abreVentana('http://www.sonvaradero.com/Un%20sello%20de%20sabor.html', 'Sello', '450', '350', 'no', 'no', 'no', 'no', 'no', 'no');");
-
}
-
-
on(release)
-
{
-
getURL("javascript:abreVentana('http://www.sonvaradero.com/Paseando%20por%20la%20Habana.html', 'Paseando', '450', '350', 'no', 'no', 'no', 'no', 'no', 'no');");
-
}
Por cierto, también es recomendable no ponerle espacios a los nombres de los archivos HTML.
Saludos.
Muchas gracias por su atenta colaboracion, sin embargo aun despues de corregir los errores que tenia en mi programacion, no me cargaba el pop-up.
Complemente la informacion que me brindaron con otra de otro web site y obtuve el siguiente codigo con el cual estoy trabajando a la perfeccion:
on (release) {
getURL("javascript:window.open('Paseando.html','Video','width=450,height=350'),void(0);");
}
Escribe un comentario
Nota: Es posible que tu comentario requiera autorización, si es así tu comentario será publicado a la brevedad. Gracias.











Gracias,
Al colocar los datos en el ejemplo me funciona perfectamente el popup..Pero cuando coloco el codigo ActionScript 2.0 en los botones de flash 8 no se ejecuta el comando..Tal vez sera porque estoy haciendo toda la pagina web en flash 8?
estas son las ventanas popup que estoy tratando de abrir:
http://www.sonvaradero.com/Un%20sello%20de%20sabor.html
http://www.sonvaradero.com/Paseando%20por%20la%20Habana.html