Cómo insertar SWF?
2 seguidores
Hola!
El caso es que por algún motivo en las webs que estoy maquetando los SWF se ven en Firefox, Safari, Explorer 6 y Explorer 7. Pero en 8 no !
Utilizo este código
<object type="application/x-shockwave-flash" data="img/menu/inicio.swf" width="30" height="184"><param name="quality" value="high" /><param name="wmode" value="transparent" /></object>
Y he probado también insertarlo desde Dreamweaver (generando un párrafo más sucio imposible)
Alguna teoría / sugerencia?
Gracias!
lukanicos
...ah! se me ha pasado, pero el problema de wmode=transparent sigue siendo el mismo, ya que es una cuestión de cómo el navegador renderiza y ubica tu swf.
lukanicos
BuenAS:
Yo suelo utilizar SwfObject
Te puedes bajar también un generador html (hay una versión AIR, pero es exactamente igual, y hay que instalarla) del anterior enlace, que, como su nombre indica, genera el código que tienes que añadir a tu html.
Suele dar menos problemas que la plantilla que trae Flash Prof. y Flex Builder 3 (Flash Builder 4 trae ya plantillas para SwfObject).
Un saludo.
casabien
tendre en cuenta lo que me comentas del wmod=transparent, lo estudio y si puedo lo elimino... pero...
Que código utilizas para insertar un SWF válido para todos los navegadores?
gracias Lukánicos ;)
lukanicos
BuenAS:
Es bastante "peligroso" dejar wmode en transparent, ya que el navegador tiene que renderizar el contenido. Es una fuente de problemas con la cantidad de navegadores (y versiones). Por ejemplo, a Firefox le suelen sentar bastante mal las tipografías incrustadas (textos que no aparecen o aparecen a un tamaño erróneo). A Internet Explorer lo que le suele sentar mal es el stage (escenario), como tengas listeners añadidos al stage (por ejemplo, el evento mouseUp suele añadirse al stage) y no suele coger el tamaño real.
Si es sólo una imagen, podrías optar por un png (cuidado con el tema de las transparencias en IE 6), o un gif animado.
Lo que digo, wmode=transparent es bastante peligroso a no ser que estés en un entorno en el que controles qué navegadores se van a utilizar. Por ejemplo, en la intranet de una empresa, en un centro educativo, etc.
Un saludo.
casabien
Hola Lukánicos,
gracias por tu respuesta.
He probado lo que me comentas pero nada. Con esté código se ve en 6 y 7, y reconoce la transparencia, pero en 8 no se ve.
Muestra un rectangulo del tamaño del SWF con el icono de una cruz roja...
<object type="application/x-shockwave-flash" data="img/menu/inicio.swf" width="30" height="184">
<param name="movie" value="img/menu/inicio.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
</object>
lukanicos
BuenAS:
Imagino que has configurado el wmode en transparent porque quieres que se vea a través del swf, y será complicado dejarlo opaco. Prueba a configurar wmode a opaque o window, para asegurarnos de que es esto.
Hay ocasiones en las que dividiendo el swf en varios se soluciona el problema de que tenga que ser transparente. Un caso habitual, a ver si hay suerte y es el tuyo, es que el swf lleve una botonera adosada a un lateral. Solución inmediata: crear un swf con sólo la botonera y colocarlo en una capa adyacente (lógicamente, reestructurando el resto de capas :).
Un saludo.