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!
Lukánicos
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.
arandaagency
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>
Lukánicos
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.
arandaagency
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 ;)
Lukánicos
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.
Lukánicos
...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.