Problemas de performance con flash en Internet Explorer
Como viene siendo habitual en los desarrollos en los que participo, cuando todo anda como un reloj suizo en los navegadores de verdad, en Internet Explorer simplemente falla todo. Y falla de formas muy raras.
Por ejemplo. El otro dia detectamos un problema de performance con Internet Explorer y flash. Todo andaba bien, solo que se tardaba una decada en renderizar el contenido.
Sabiamos que tenia que ver con unos objetos de flash que estabamos cargando, ya que dos desactivabamos y andaba a las mil maravillas.
Le dimos mil vueltas al problema hasta que una compañera (gracias Ana) encontró que el problema podia ser el siguiente:
1 |
Performance Note Internet Explorer relies on the MIME type of the resource specified in the SRC attribute to ultimately determine which application to use to display the embedded document. If the TYPE attribute has not been specified, a large portion (if not all) of the resource will be downloaded from the server twice; once to determine the MIME type, and again to retrieve the complete item for playback, display, or both. Specify the TYPE attribute to block this duplicate server request. |
Extraído de: http://msdn.microsoft.com/es-es/library/ms535245%28en-us,VS.85%29.aspx
Para los legos en ingles dice básicamente que si no le dices que el “type” es “application/x-shockwave-flash” dentro del objeto <embed>, Internet Explorer va a bajar todos los flash para analizar de que type se trata y a posteriori los va a bajar otra vez para mostrarlos.
Es ridículo que haga eso. Podría usar el objeto que ya ha descargado.
Entonces ya saben. Si flash les decrecienta el rendimiento de carga en vuestras paginas Web en Internet Explorer casi casi seguro que les este faltando el Type:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<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="400" height="300" id="movie" align=""> <param name="movie" value="movie.swf"> <embed src="movie.swf" quality="high" width="400" height="300" name="movie" align="" <strong>type="application/x-shockwave-flash"</strong> plug inspage="http://www.macromedia.com/go/getflashplayer"> </object> |