Ni el aire acondicionado!

Segun los muchachos del INSIVUMEH, la ola de calor que aprieta nuestro territorio se acaba pasado mañana, o sea el miércoles 17 de junio de 2009 cuando lleguen los aguaceros.
Mientras tanto hoy llovió por unos 20 minutos y se desató un calor que ni el mismo cachudo lo aguantaría.. Ni siquiera el aire acondicionado mitiga el maldito calor!

Conciencia ecológica? Creo que no hay mucha en nuestro país.

Invalid Markup en W3C al insertar archivo flash en XHTML 1.0 Transitional

How can I include flash in valid (X)HTML Web pages?

Resulta que la forma en que Dreamweaver inserta los flash no es válida para el W3C.

La respuesta que te dan en el sitio de W3C es muy complicada. Hay que modificar el archivo .fla y producir un nuevo .swf

Con un poco de paciencia lograrás conseguir la respuesta correcta para pasar la validación pero ¿Quién tiene tiempo que perder en estos días?

Esta es una solución que encontré después de quemarme los ojos buscando una respuesta, probando y probando entre una y otra cosa, funciona muy bien y es válido:

1
2
3
<object data="archivo.swf" type="application/x-shockwave-flash" width="ancho" height="alto">
	<param name="movie" value="archivo.swf" />
	<param name="quality" value="high" /></object>

Y eso es todo. Ahora bien, no creo que aún exista gente que no tenga instalado el plugin de flash en su navegador, pero de todo hay en este mundo. Entonces podemos usar algo así:

1
2
3
4
5
6
<object data="archivo.swf" type="application/x-shockwave-flash" width="ancho" height="alto">
<param name="movie" value="archivo.swf" />
<param name="quality" value="high" />
 
Texto o contenido alternativo
</object>

De esta forma si no está instalado, se mostrará el texto en pantalla. El problema es que no lo reconoce el IE! Qué raro, verdad? Entonces, aquí viene el truco final.

Vamos a poner algo que sea reconocido en todos los navegadores, y será algo como esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- [if !IE]> -->
<object data="archivo.swf" type="application/x-shockwave-flash" width="ancho" height="alto">
<!-- <![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="ancho" height="alto">
<param name="movie" value="archivo.swf" />
<!--><!--fm-->
<param name="loop" value="true" />
<param name="menu" value="false" />
 
Texto o contenido alternativo.
</object> <!-- <![endif]-->

De esta forma logramos lo siguiente:

  • El código es válido
  • Funciona en todos los navegadores
  • Se mostrará el contenido alternativo si no está instalado el plugin
  • No necesita Javascript
  • Los tags
     

    no se duplican

Han habido sin fin de discusiones sobre esto y no es nada nuevo el tema. Sin embargo, a mi me funciona, otros preferirán el Javascript, en fin, lo dejo a su criterio qué solución desean utilizar.