[Ovillo] Flash Válido (mejor que flash satay)
Martin Szyszlican
martinsz en gmail.com
Jue Sep 7 16:15:50 UTC 2006
David Gruni es un checo que propone este método [1] para insertar flash
en documentos XHTML Strict válidos, usando comentarios condicionales
para lograr la cross-browser-isidad.
El codigo final es asi:
|<!--[if !IE]> -->
<object type="application/x-shockwave-flash"
data="movie.swf" width="300" height="135">
<!-- <![endif]-->
<!--[if IE]>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
width="300" height="135">
<param name="movie" value="movie.swf" />
<!--><!---->
<param name="loop" value="true" />
<param name="menu" value="false" />
<p>This is <strong>alternative</strong> content.</p>
</object>
<!-- <![endif]-->|
Usa comentarios condicionales NEGADOS, en la primera parte, para que el
código sea para todos menos para IE. Y a la inversa luego.
Además, propone una forma de lidiar con el problema de Eolas del IE,
donde los flashes necesitan "activarse" para interactuar con ellos. Me
imagino que esta solución ya la habrán propuesto otros también, pero es
simple [2]:
|var objects = document.getElementsByTagName("object");
for (var i=0; i<objects.length; i++)
objects[i].outerHTML = objects[i].outerHTML;|
Ese javascript en un archivo externo, llamado con "defer" (para que se
ejecute luego de cargar el dom, pero sin esperar a que se cargue todo el
contenido), de esta forma:
|<!--[if IE]>
<script type="text/javascript"
src="fix_eolas.js"
defer="defer"></script>
<![endif]-->|
También usando comentarios condicionales.
Por otro lado, yo tengo una clase [3] que permite emular scripts
externos con "defer" sin necesidad de crear scripts externos.
Usando mi clase, podríamos englobar el código como una función
fix_eolas() y llamarlo de la siguiente forma:
EventMgr.add(window,"load",fix_eolas);
De esta forma tendríamos un método para incluir flashes standard y con
el workaround de eolas sin necesidad de usar mas archivo (ni js - como
en el método que se propone antes, ni swf - como en flash satay).
Creo que hemos arribado al ideal para insertar flash!
[1] http://www.dgx.cz/trine/item/how-to-correctly-insert-a-flash-into-xhtml
[2] http://www.dgx.cz/trine/item/how-to-avoid-activation-of-active-x-in-ie
[3]
http://iconoclastismo.blogspot.com/2006/09/clase-para-manejar-eventos-en.html
--
Martin Szyszlican
http://www.ylisto.info
"Si este mensaje fué muy largo, fué poco profundo"
--
Martin Szyszlican
http://www.ylisto.info
"Si este mensaje fué muy largo, fué poco profundo"
Más información sobre la lista de distribución Ovillo