Cuando desarrollamos/diseñamos algo en Flash/Flex solemos encontrarnos con la necesidad de embeber (incrustar) este SWF dentro de una página web, es decir, dentro de una página HTML. Hay varias formas de hacerlo, unas llevan ya mucho tiempo disponibles y algunas otras son más nuevas; aunque todas tienen sus pros y sus contras.

SWFObject nos permite por medio de JavaScript la incrustación de objetos SWF. Esta herramienta nace de la necesidad de los desarrolladores para embeber estos archivos dentro de HTML, pero más que solo incrustar este contenido podemos también detectar la versión del Flash Player instalada, y notificar entonces al usuario en caso de que no sea la versión optima, permitiéndole así actualizar.

Si nos encontramos trabajando en Dreamweaver, basta con que arrastremos nuestro SWF dentro de nuestra página web con lo cual automáticamente se generara el código JavaScript necesario para su correcta visualización. Este código contiene las propiedades necesarias que los exploradores necesitan para comprender así, que el objeto que están embebiendo debe funcionar con la última versión del Flash Player, así como también sus dimensiones.

Es posible que también necesitemos que este SWF se comunique con demás contenido de nuestro sitio o incluso con otro dominio. Para ello necesitaremos habilitar nuestro objeto antes de incrustarlo dentro del HTML. Esto se hace con una simple línea de codigo ActionScript que habilitara la comunicación entre el dominio que contenga este objeto y el mismo SWF.

De esta forma podremos hacer (por ejemplo) que nuestro SWf en determinado momento, cargue dentro de un componente a otro SWF y para ello deberá tener habilitado el acceso a este dominio o el que contenga ese otro SWF. Este proceso creara además una carpeta llamada Scripts que incluye dos archivos uno SWF llamado expressInstall y otro de JavaScript llamado swfobject_modified los cuales son necesarios para la ejecución de este SWF en nuestro sitio web.

Cuando estamos trabajando en Flash una de las opciones de publicación es justamente HTML, lo cual significa que al exportar nuestro proyecto no solo nos dará un SWf sino también una página web. Sin embargo, si abrimos esta página web, su código de incrustamiento será diferente al que nos genera Dreamweaver. Esto debido a que además de que no nos genera esa carpeta llamada Scripts, incluye más propiedades para la visualización de nuestro objeto.

Si desarrollamos una aplicación web con Flex, nos encontraremos con que dentro de una carpeta llamada bin-release (ese es su nombre por default) nos genera una serie de archivos correspondientes a los componentes utilizados, así como las tipografías y archivos utilizados en nuestro proyecto. Si abrimos este archivo nos encontraremos con que es el que más código contiene, incluyendo un pequeño bloque de CSS.

Si necesitamos enviar un valor hacia una variable contenida dentro de un SWF (sin importar que haya sido desarrollado en Flex o en Flash), tendremos que utilizar una librería llamada ExternalInterface, la cual nos permite comunicar ActionScript con JavaScript de modo que enviemos un dato desde el SWf hacia el sitio web o al revés.
De esta forma podemos embeber nuestros SWF’s en un sitio web sin la necesidad de preocuparnos más que por la versión del Flash Player tenga instalada el usuario, e incluso así, SWFObject se encargara de invitarlo a instalar la ultima versión.