Como usar SWFObject
- 27/05/2006
- 2:15 pm
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">
-
// <![CDATA[
-
var so = new SWFObject(path, id, ancho, alto, version, color);
-
so.write("flashcontent");
-
// ]]>
-
</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:
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">
-
// <![CDATA[
-
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");
-
// ]]>
-
</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.
Posts Relacionados
- Videos YouTube en WordPress
- Agregar Flash a tu WordPress
- WP-SWFObject
- Mil descargas WP-SWFObject
- Insertar SWFs en Blogger
Total de Comentarios: 41
Hola mi pregunta es la siguiente y ojala me puedan ayudar.
Si tengo un SWF contenido en un archivo html, como hago para decirle a esta pagina ke ejecute el swf desde el frame 10 al abrirse la pagina por ejemplo.
Gracias
Bueno eso se deberia hacer en el mismo flash por ejemplo poner en el primer frame:
gotoAndPlay(10);
Ahora si lo quieres hacer desde el mismo html, debes crear un javascript.
Ahora esto lo insertar antes de de tu html, luego en el body deberas escribir:
Ojo debes tener en cuenta que “movie” es el id que le has asignado a tu movie.
Saludos.
perdón por el comentario innecesario pero habia probado poner otro div pero no me funcionaba,pero ya lo logré hacer.. Gracias (Y)
hola estoy metido en este rollo y como generalmente no tenia este problema y ahora evidentemente somos muchos no me queda otra que meter mano al codigo, lo que no me queda claro es “so.write(”myflash”);” ¿”myflash” es el nombre del swf o es una variable del codigo? yo estoy tratando de poner el flash dentro de una capa y/o en una tabla es esto posible, porque llevo horas sin resolverlo. por favor estare revisando esto para encontrar la respuesta.
myflash es el nombre de div donde se va a colocar el SWF, ojo solo se puede colocar en el DIV no en tablas u otros tag HTML.
como estas mira tengo un problema donde se pone el div antes de cerra el tag head o en el body de la pagina es que no he podido hacver lo gracias
Bueno el div tienes que colocarlo en donde quieres que aparezca el flash que estas insertando, es decir si deseas que aparezca debajo del titulo deberás ponerlo debajo de ese titulo, ojo que siempre esto dentro del body de tu HTML.
Saludos
en mi appserv local si se carga el swf pero lo subo al hosting y nada
no se ve por que esta pasabdo esto alguien me puede ayudar
Puede ser un tema de rutas, fijate que las rutas no sean absolutas. Si tienes la ruta de tu hosting podria revisarla y ayudarte.
hola unijimpe dime algo mas sobre las rutas o como te podria dar la ruta de mi hosting ayudame asabe r cual es la ruta de mi hoisting por favor
unijimpe ya lo logre vusuakizar graciuas ahora mi pregunta es el sfw es uyn video que codifique pero si le das el vinculo te abre mas no te carga en la pagina principal
sera que necesito un flash media server
Bueno yo me acabo de dat un vuelta por tu site y todo esta bien, si puede ver el video, además revise el codigo fuente de tu web y esta bien colocado el swfobject. Sucede que los videos demoran en cargar por eso quiza veas al inicio la pantalla en blanco pero luego veras el video sin problemas.
hola inijimpe gracias
bueno pero si revisas de nuevo mi site te daras cuenta que al clickiar en donde dice si no puede visualizar este video haz clic a ca sale el video bien con los contriles para poder arrancar
2 al iniciar la pagina principal sale el video tambien pero no sale con los controles solo se reporoduce ud sabe por que esta psando eso??
gracias
Hola, desde hace un par de meses uso el swfobject y ahora me estoy dando cuenta de que al hacer click en los botones del menu por primera vez, el boton no responde, y si lo hace en el segundo intento de click, se puede solucionar esto utilizando el swfobject.
Hola la verdad que a mi nunca me ha pasado ese problema, a ver si me detallas mas acerca de ese problema, en que navegador pasa y si puedes me mandas la ruta para revisarlo.
Saludos.
Hola :
No logro solucionar esto del swobjet, para dejar de hacer clic en mis peliculas flash :S
Mi problema es que se me duplican los swf , o sea aplico el codigo q dan, y se ve dos veces el mismo swf…. en uno corregido el problema y en el otro sigue igual!
** no se q poner en la parte q pide el ID ( var so = new SWFObject(”main.swf”,”???????id”,”50″,”30″,”7″,”#FFF”);
La pelicual q estoy usando en esto se llama hola.swf ( es de prueba)
Aca pongo como esta el html a ver si logran ayudarme ….
prueba
Este site necesita el plugin de Flash Player.
//
———-
gracias : :)
La razón de que el Explorer pregunte antes de correr Flash no se debe a “una política de seguridad”, sino a cuestiones legales y económicas.
Básicamente, perdieron un juicio millonario contra Eolas por la implementación del tag OBJECT.
Las opciones eran pagar los millones, o obligarnos a todos a cambiar la forma en que funcionan las páginas.
Así que aquí estamos, pataleando con swfobject, mientras el tío Gates cuenta los millones que se ahorró…
Saludos!
hola tengo un problema de ocultar una capa que contiene un swf. el cual contiene un boton para ocultar la dicha capa el problema es que cuando se oculta las demas animaciones dejan de reproducirse
Por favor ayuda urge!!!
SALUDOS
buenas en este blog!
Weno, tengo un problemilla. Tengo un archivo html donde hay varios iframes que contienen un swf cada uno. (uso este metodo por la utilización del swfobject).
El problema que tengo és que con el explorer se me ve el fondo blanco del iframe o del swf. he provado el allowtransparenci en el iframe i el addparam… en el swf, i no me tira!!!
Alguien save????
mekagwen el billgates!
La verdad no entiendo para que usas ifframe en tu pagina si con un solo SQFObject puedes incluir los tres flash en tu web. Creo que esa seria tu solución, pues los ifframe traen mas problemas que soluciones.
unijimpe, gracias!!!
¿te has fijado como és la web?
he provado de insertar todos los swf en una pagina i se me ponen uno por devajo del otro.
Te haré caso y intentaré montarlo todo en un html
uff, me estoy colapsando mucho!!!
Ahora el problema que tengo és que no puedo poner los swf uno al lado del otro.
lo estoy intentando con el siguiente codigo:(de momento lo hago con un separador y con un swf):
…
unijimpe, si tengo este código, se me ponen los swf uno al lado del otro, que solución le ves??
Aquesta web requereix Flash Player 8
click aquí per descarregar-tel
Aquesta web requereix Flash Player 8
click aquí per descarregar-tel
Aquesta web requereix Flash Player 8
click aquí per descarregar-tel
//
//
//
¿¿como puedo poner un swfobject al lado del otro??
si uso las tablas, no puedo insertar el swfobject(en scryp type)al lado del otro.
Por defecto me pone todos los objetos uno debajo del otro.
Espero vuestra respuesta!
gracias
Hola me gustaria saber como poner mas de un archivo flash con Swfobject, si es posible me encataria saber la solucion ya que me es impresindible…
Desde ya muchas gracias…
Para incluir varios archivos flash en un html, debes incluir varios divs con distinto nombre y luego varios bloques de javacript que selecciones SWFs diferentes y apunten a los div creados, así de sencillo.
Hola, buenisimo sitio… tengo una duda: ¿como puedo hacer para que el SWF quede centrado?
s2,
JM
unijimpe: tengo un problema supuestamente pongo el object de swfObjects ahi como dice muy bien despliega sin problemas en ambos browsers pero me sigue pidiendo el ActiveX en el explorer, se supone que para eso es el objeto como tal, que pasa entonces puedes decirme. o es que estoy haciendo mal las cosas.
ha y netre otras felicitaciones tienes un blog demaciado interesante y con cosas muy buenas.
ya solucione el problema . ahora mi problema es que este debe tomar unas jpgs externas a el con un loadmovie, peor no deja que estas pasen no permite la comunicacion.. no se por que.. que deberia hacer. gracias
Si alguien me puede explicar como poner 2 o mas SWF en 1 html…
Sergio, para insertar 2 o mas SWFs debes crear varios DIVs cada uno con un nombre distinto, luego creas el código SWFObject también la misma cantidad de veces referenciando a cada div donde deseas insertar tu SWF.
Por ejemplo:
<div id="header">-</div>
<div id="banner">-</div>
<script type="text/javascript">
var so = new SWFObject("header.swf","id1","50","30","8","#FFF");
so.write("header");
var so = new SWFObject("banner.swf","id2","50","30","8","#FFF");
so.write("banner");
</script>
Gracias por tu ayuda.
Con este tutorial logre resolver el problema de mi pagina.
Muchas gracias
Muchas Gracias! de gran ayuda!! por fin me saqué esto de encima!!
(ahora solo queda que IE, por razones de seguridad, quite el SWObbject)
Ja, Ja, Ja..
Abrazo!
Muy buenas tardes, he probado el tutorial con éxito desde mi computadora, pero al subir los archivos a mi hosting me devuelve el cartel “You need to upgrade your Flash Player VivacHostel - Hostels Buenos Aires”, es decir, el mismo cartel que introduje en caso de que no tuviese el Flash player apropiado. Lo curioso es que no sucede lo mismo al cargarlo desde mi computadora.
Expresandolo nuevamente por si no se entendió: el swf me carga perfectamente cuando abro el html alojado en mi computadora, pero cuando intento cargarlo desde el host donde alojo la página me devuelve el cartel que redacté en caso de que no tenga el Flash Player actualizado.
Agradecería alguna aclaración al respecto.
Desde ya, muchas gracias.
HOLA!! Tengo este codigo en un HTML:
In order to view this page you need JavaScript and Flash Player 8+ support!
//
El problema que tengo es que mi pelicula flash mide 2000 pix de alto, el ancho 100%, como unico puedo bajar para ver todo el flash es apretando la bolita del medio del raton, como puedo sacar, por medio de script o como sea, un scroll?
Gracias a todos!
Muchas gracias por la entrada. Finalmente esta instalado.
Puede verse el resultado final en
En todos los mapas interiores esta el SWFObject.
Puede probarse en el Explorer.
Hola, muchisimas gracias por esta entrada.. gracias a este “Tip” e podido solucionar un problema con mi web que llevaba dias intentado miles de soluciones pero esta fue la unica que me sirvio.. el problema era que yo hize un diseño y esta totalmente cortado y unido en dreamweaver por tablas.. pero en el centro va un logo en flash, cuando lo introducia, en firefox me creaba como especie de un debajo de la animacion, y hacia que se me deformara el diseño ya que todo era exacto.. en IE si me iba bien.. en fin, con esto, ya no sucede lo del espacio debajo de la animacion, me acabas de quitar un dolor de cabeza ejeje gracias…………..
saludos

