Cómo crear ventanas emergentes del navegador en Flash
Introducción
En una página HTML estándar, las ventanas del navegador se abren y se controlan mediante funciones JavaScript en la página HTML. Las ventanas del navegador también se pueden abrir y cerrar desde una película Flash, pero dado que las ventanas son un componente del navegador, Flash debe comunicarse con el navegador y dirigirlo para que abra nuevas ventanas.
Nota: en esta nota técnica se describen algunas funciones de JavaScript en la medida en que lo permiten las limitaciones de espacio. Una descripción completa de JavaScript está fuera del alcance de esta nota técnica. Véase Información adicional para ver vínculos a otros recursos JavaScript.
Requisitos previos
El uso y los aspectos básicos de esta nota técnica y los archivos de ejemplo requieren un conocimiento operativo de los conceptos siguientes. Para obtener más información, consulte las secciones sobre este tema del manual Flash o el sistema de Ayuda.
- Cómo crear y asignar una acción a un botón o fotograma
- Cómo publicar una película Flash utilizando la configuración de publicación
- Cómo editar una página HTML
Este documento describe métodos para abrir una ventana emergente de Macromedia Flash, con ejemplos descargables para cada método.
Descarga de un archivo de ejemplo
Los archivos que aparecen a continuación contienen archivos de ejemplo de los tres métodos descritos en esta nota técnica.
Descargue el archivo de origen de Windows popup_windows.zip (35 k)
Descargue el archivo de origen de Macintosh popup_windows.zip (35 k)
Métodos
Los métodos que se describen a continuación varían en niveles de dificultad y control. No todos los métodos son compatibles con todos los navegadores.
| Método | Dificultad | Compatibilidad con el navegador |
|---|---|---|
| GetURL | Es el más fácil de todos, pero no permite controlar las ventanas | Funciona con todos los navegadores. |
| GetURL: "javascript:" | Sencillo y uniforme | No funciona con Internet Explorer 3.0 o versiones anteriores en Windows ni con Internet Explorer 4.5 o versiones anteriores en Macintosh. |
| FSCommand | Más difícil | Funciona con navegadores compatibles con ActiveX y LiveConnect (actualmente, en Windows y Mac: Internet Explorer 4.0 y posteriores y Navigator 3.x y 4.x). |
GetURL
Este método utiliza la acción getURL para crear una nueva ventana de navegador seleccionando una nueva ventana en blanco como destino. Este método es sencillo, funciona con todos los navegadores y no requiere el uso de JavaScript. Sin embargo, no permite controlar la ubicación, la ventana, el tamaño, las barras de desplazamiento o las barras de herramientas de las ventanas.
Añada la acción getURL en Flash:
- Asigne una acción getURL a un botón o fotograma clave e introduzca la URL deseada para abrir la nueva ventana.
Introduzca _blank en "Ventana", como se indica:

- Publique la película Flash y la página HTML utilizando la plantilla HTML "Flash Only (Predeterminada)".
GetURL:"javascript"
Este método utiliza la acción getURL para llamar a una función de JavaScript que se añade a la página HTML después de publicarla. Es sencillo y requiere pocos conocimientos de JavaScript, pero no funcionará en todos los navegadores. Consulte la tabla de métodos anterior para conocer la compatibilidad con los navegadores y efectúe pruebas en todos los navegadores de destino. La acción getURL en Flash contiene la URL y los parámetros de la ventana como, por ejemplo, la altura y la anchura.
Parte 1: Creación de la película en Flash:
- Asigne la acción getURL a un botón o a un fotograma clave.
-
Para la URL, introduzca el código que aparece a continuación, copiando la información tal como está escrita.
Es posible utilizar valores personalizados para la URL, las dimensiones, la barra de herramientas y las barras de desplazamiento, aunque se recomienda crear un ejemplo operativo básico utilizando primero este código.
javascript:openNewWindow('http://www.macromedia.com', 'thewin','height=400,width=400, toolbar=no,scrollbars=yes')El código anterior se puede pegar en la ventana de la URL como se muestra a continuación. Las dos líneas de arriba se deben copiar por separado y, a continuación, pegarlas en una sola cadena de caracteres.
![]()
- Publique la película Flash y la página HTML utilizando la plantilla HTML "Flash Only (Predeterminada)".
Parte 2: Adición de JavaScript a la página HTML
- Abra el archivo HTML publicado en la primera parte para editarlo con el Bloc de notas, Simple Text o un editor HTML como Macromedia Dreamweaver.
-
Copie el código siguiente, tal como aparece a continuación:
<script language="JavaScript"> function openNewWindow(URLtoOpen,windowName, windowFeatures) { newWindow=window.open(URLtoOpen, windowName, windowFeatures); } </script> - Pegue el código entre las etiquetas HEAD en el código HTML.
-
Si utiliza Flash 4 (o una versión anterior):
Si no existen ya los siguientes parámetros, añádalos a la etiqueta EMBED del código HTML, después de los parámetros WIDTH y HEIGHT. Sustituya "myMovie" con el nombre de la película Flash tal como aparece en el parámetro ID de la etiqueta OBJECT.
swLiveConnect=true NAME=myMovie
-
Guarde el documento HTML y pruebe la página en un navegador.
Nota: si se vuelve a publicar el documento HTML desde Flash estos cambios se sobrescribirán y se deberán repetir.
¿Qué hace esta función de JavaScript?
El contenido de la acción getURL indica a JavaScript que llame a la función 'openNewWindow' y la información que aparece a continuación pasa al script.
| Código | Descripción |
|---|---|
javascript:openNewWindow |
Indica a JavaScript que llame a la función openNewWindow |
'http://www.macromedia.com' |
La URL que se debe cargar en la nueva ventana |
'thewin' |
El nombre de la ventana |
height=400 |
Establece la altura de la ventana en 400 píxeles |
width=400 |
width=400 |
toolbar=no |
No muestra la barra de herramientas del navegador. Las opciones son 'yes' o 'no' |
scrollbars=yes |
Muestra las barras de desplazamiento en esta ventana. Las opciones son 'yes' o 'no' |
FSCommand
Este método utiliza la acción FSCommand en Flash 4 y versiones superiores para activar una función JavaScript en la página HTML que crea una nueva ventana. La función JavaScript se añade a la página después de la publicación y contiene la URL, así como parámetros de la nueva ventana. Este método no funcionará en todos los navegadores. Consulte la tabla de métodos anterior para conocer la compatibilidad con los navegadores y efectúe pruebas en todos los navegadores de destino.
Parte 1: Creación de la película en Flash
- Asigne la acción FSCommand a un botón o un fotograma clave.
-
En el campo "Comando", introduzca "openWindow":

-
En la ficha "HTML" de Configuración de publicación, seleccione la plantilla "Flash con FSCommand".

- Publique una película Flash y un archivo HTML.
Parte 2: Adición de JavaScript a la página HTML
- Abra el documento HTML publicado en la primera parte para editarlo con el Bloc de notas, Simple Text o un editor HTML como Macromedia Dreamweaver.
-
En el HTML localice la siguiente línea:
En el HTML localice la siguiente línea:
-
Sustituya cuidadosamente toda la línea anterior con el siguiente JavaScript:
{if(command=="openWindow"){ openNewWindow()}} function openNewWindow(){setTimeout( window.open('http://www.macromedia.com','newwindow', 'height=200,width=300,toolbar=no')),0}Es posible utilizar valores personalizados para la URL, las dimensiones, la barra de herramientas y las barras de desplazamiento, aunque se recomienda crear un ejemplo operativo básico utilizando primero este código.
-
Guarde el documento HTML y pruebe la página en un navegador.
Nota: si se vuelve a publicar el documento HTML desde Flash estos cambios se sobrescribirán y se deberán repetir.
¿Qué hace esta función de JavaScript?
-
{if(command=="openWindow"){openNewWindow()}Esta función lee el comando desde Flash. Si el comando es "openWindow", ejecuta la función "openNewWindow()".
-
Function openNewWindow(){setTimeout( window.open('http://www.macromedia.com','newwindow', height=200,width=300,toolbar=no')),0}Es la misma función que se utiliza en el paso getURL, explicado en detalle anteriormente. Aquí se incrusta en un método de tiempo de espera de JavaScript para evitar la incompatibilidad con algunos navegadores.
Extensiones
Además de los métodos de diseño descritos en esta nota técnica, también están disponibles algunas extensiones sencillas de Macromedia Exchange para crear ventanas emergentes desde Flash. Estas extensiones incluyen JavaScript Integration Kit para Dreamweaver y otras extensiones creadas por desarrolladores de Flash.
Busque en Macromedia Exchange las extensiones actualmente disponibles que puedan utilizarse con Flash o Dreamweaver. Tenga en cuenta que muchas extensiones han sido creadas por otros proveedores; lea detalladamente la página de descarga de cada extensión. Para más información sobre cómo utilizar extensiones, consulte Macromedia Exchange.
Información adicional
Para más información sobre cómo utilizar JavaScript con Flash Player, consulte el artículo Scripting with Flash (Creación de scripts con Flash) *.
Dispone de información técnica completa para JavaScript en DevEdge Online Documentation, además de diversos libros sobre JavaScript de otros proveedores y sitios Web como Programming JavaScript de Webmonkey.
| Última actualización: | 9 de mayo de 2002 |
|---|---|
| Fecha de creación: | 16 de diciembre de 1999 |
| ID: | 14192 |
|---|---|
| Producto: | Flash |
| Versiones: | todas |
| SO: | todos |
| Navegador: | todos |
| Servidor: | todos |
| Base de datos: | todas |
| ID anterior: | N/A |