Como usar SWFObject

En la actualidad muchos habrán visto páginas hechas en Flash con un borde extraño y un mensaje: “Haga clic para activar y usar este control” o en ingles “Click for activate and using this control” esto se debe a nuevas políticas de Internet Explorer en cual no reproduce automáticamente los archivos ActiveX y para ello pregunta antes de ejecutarlo. Esto por motivos de seguridad pues si se permite que se ejecuten todos los ActiveX se puede ejecutar archivos maliciosos en nuestra PC.

Bueno, este pequeño inconveniente es resuelto por SWFObject el cual permite embeber los archivos SWF sin que te muestre este mensaje de advertencia, además de insertar el archivo flash de manera compatible para todos los navegadores. SWFObject es una librería en javascript llamada antes FlashObject, en cual permite embeber archivos SWFs en páginas HTML de manera limpia y estándar.

Como usar SWFObject

Primero descargamos los archivos desde: http://blog.deconcept.com/swfobject/
Luego de ellos extraemos los archivos incluidos en: swfobject1-4.zip donde encontraremos varios archivos de ejemplo, de los cuales el archivo principal es: swfobject.js

Para hacer uso de este javascript deberemos colocarlos en la carpeta de publicación de nuestra web. Para esto debemos insertar el javascript en nuestra página, esto es insertar la siguiente línea antes del cierre del tag HEAD.

<script type="text/javascript" src="swfobject.js"></script>

El segundo requerimiento es insertar un DIV el cual contendrá el SWF. Este DIV debe tener un ID el cual lo identificará para mas adelante asociarlo al javascript que insertará el SWF. El el ejemplo el ID es flashcontent

<div id="flashcontent">
	// Mensaje si no existe el plugin de flash.
</div>

Finalmente la inserción del flash se realiza con el siguiente código:

<script type="text/javascript">
// <!&#91;CDATA&#91;
var so = new SWFObject(path, id, ancho, alto, version, color);
so.write("flashcontent");	
// &#93;&#93;>
</script>


En donde se tiene:

  • path: ruta del swf a insertar.
  • id: identificador del swf a insertar, esto se usara para procesarlo con javascript en caso se necesite.
  • ancho: ancho de la pelicula a insertar.
  • alto: alto de la pelicula a insertar.
  • version: version del flash player necesario para reproducir la pelicula.
  • color: es el color de fondo de la pelicula insertada.

Veamos un ejemplo básico:

<div id="myflash">
Este site necesita el plugin de Flash Player.
</div>
<script type="text/javascript">
// <!&#91;CDATA&#91;
var so = new SWFObject("main.swf","id","50","30","8","#FFF");
so.write("myflash");	
// &#93;&#93;>
</script>

Agregando Parametros al SWF

El el caso que necesitemos añadir Parametros adicionales a la página, esto se hace con el uso del comando addParam. Veamos el siguiente ejemplo:

<div id="myflash">
Este site necesita el plugin de Flash Player.
</div>
<script type="text/javascript">
// <!&#91;CDATA&#91;
var so = new SWFObject("main.swf","id","50","30","8","#FFF");
so.addParam("scale", "noscale");
so.addParam("wmode", "transparent");
so.addParam("flashvars", "nombre=jim&pais=peru");
so.write("myflash");	
// &#93;&#93;>
</script>

Como una observación final les comento que si su página es completamente en flash entonces en el lugar donde colocarán el texto de aviso de requerimiento del plugin, seria adecuado colocar la descripción de la página pues este texto es el que indexarán los buscadores.

Comentarios Total 56 comentarios

Alexis
Publicado: 27/07/2010 3:42 pm

no me reconoce la ruta de ninguna forma para entrar a buscar un swf al directorio siguiente en
var so = new SWFObject(«menu.swf»

ejemplos:
var so = new SWFObject(«menu1/menu.swf»
var so = new SWFObject(«/menu1/menu.swf»
var so = new SWFObject(«menu1\menu.swf»
var so = new SWFObject(«\menu1\menu.swf»

y0da
Publicado: 02/02/2011 3:03 pm

Hola que tal, seria para mi de agrado el poder recibir respuesta ante mi problema, es el siguiente: Tengo una Pagina de navegacion hecha en FLASH, tengo el .SWF correspondiente y el .HTML correspondiente, yo quiero colocar mi pagina de navegacion como TEMA en WORDPRESS y no se como hacerlo, ya he visto el contenido que se encuentra /wp-content/themes, y hay una carpeta por defecto q es twentyten (que es la carpeta del tema por defecto), me imagino que necesito tener otra carpeta con mi TEMA pero no se como obtenerla con el archivo flash que tengo, ME GUSTARIA QUE PUDIERAN AYUDARME.

rocabilly
Publicado: 07/09/2011 6:11 pm

hola recientemente edite una galeria flash de estas magnifias que tienen, pero el problema que tengo es que no puedo ver las imagnes en mozilla, si se me ve todo bien en iexplorer y chrome, alguien me puede ayudar, llevo horas mirando en foros y no he encontrado la solucion, tal vez la solucion sea haber llegado a este enlaze, un saludo

Lady Astaroth
Publicado: 18/03/2012 1:17 pm

Super interesante lo que dices del swfobject y muy bien explicado, te felicito, pero mi pregunta es, (soy un poco novata en todo esto), yo tengo la web en una plantilla de dreamweaver, y en el cuerpo tengo una region editable que es donde pongo mis archivos flash, donde tengo que poner el div??

gracias

Ismael
Publicado: 13/05/2012 1:11 am

Me gustaria saber si hay alguna manera de reproducir varios archivos .swf dentro de un mismo DIV. Me gustaria dejar ese DIV para poner solo banners que se reproduscan unos tras otro… existe algun modo?

edgar
Publicado: 17/06/2012 12:31 pm

tengo un problema de lentitud cuando se habre mi pagina por primera vez, y me aparece el siguiente error en la barra izquierda

Mensaje: Error de sintaxis
Línea: 1
Carácter: 1
Código: 0
URI: http://www.evolutionit.cl/Scripts/swfobject_modified.js

me puenden ayudar !!!

Gracias.

 

Comentar

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.

(Requerido)

(Requerido, no será publicado)

(Requerido)

(Tags aceptados: <a> <em> <strong> <code> <ul> <li>)