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"

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo

Responder a