Es normal que el código html generado por las diferentes versiones del flash cuando compilamos peliculas, animaciones o banners no pasen la prueba de validación ante el W3C debido a las eqtiquetas usadas. Por eso, despues de investigar bastante como solucionar el problema de poder insertar archivos swf que se ejecuten en los distintos navegadores y además que la web valide, pude armar el siguiente ejemplo para cumplir con todos esos requisitos.


Normalmente, cuando insertamos una pelicula en una página web nos encontramos con que el código HTML generado por el mismísimo flash es algo más o menos como esto:


	
	
	

Es una verdadera ensalada, así que investigando un poco se puede convertir en algo más simple, más limpio y que además valide tomando las siguientes acciones:

  1. Deshacerse de la etiqueta <embed>
    que no es parte de la especificación de HTML y por lo tanto no valida. Es una etiqueta creada por Netscape para mostrar plugins y reproductores y que actualmente puede ser reemplazada.
  2. El valor de classid le indica al indica al InternetExplorer que tipo de reproductor usar, por suerte, el Flash Player responde perfectamente bien a los tipos MIME como por ejemplo: type=”application/x-shockwave-flash” asi que nos podemos deshacer del classid.
  3. El valor de codebase normalmente apunta al servidor de Macromedia/Adobe donde se encuentra el plugin de flash e indica la versión para ofrecer actualizarlo si se detecta una versión antigua del plugin. Esta comprobación se puede hacer, de ser necesario, al ingresar al sitio, asi que acá también lo eliminamos.
  4. Y por último, tenemos que agregar un valor en el parámetro data para indicarle a los navegadores como Mozilla y Opera donde se encuentra la pelicula que estamos insertando, porque estos navegadores no pueden tomar este valor desde el elemento <param>.

Finalmente, una vez realizados estos pasos, tenemos un código más limpio y claro para poder insertar peliculas en flash y que la página web pase por el validador de la W3C sin problemas:


	
	

El único inconveniente con este código es que el InternetExplorer no hace streaming, es decir que no comienza la reproduccion de la pelicula hasta que no se descargue por completo. En pequeñas animaciones o banners esto no es importante, pero si se trata de una aplicacion o sitio completamente en flash eso puede influir. Por suerte, existe una solución para corregir este problema del Iexplorer, el llamado Método Satay, que consiste en crear una nueva pelicula y en el primer fotograma llamar mediante actionscript a la pelicula principal… pero eso excede bastante el espiritu de este ejemplo.