• Certamen flamenco KDK Jóvenes promesas
    :: Micro-site (Flash).
  • Juegos de calle - KDKalle - kale dor kayiko
    :: Calendario 2009.

:: Bloc de apuntes

/ Sitio web de Roberto Gutiérrez - Ilustrador, diseñador gráfico

- Ilustración, ilustración infantil, publicitaria, e-learning. Diseño gráfico / web

       
 
   

SwfObject: script para evitar la activación de flash en internet explorer. Geoff Stearns

 
   
-Problema:  
   
-Antes:  
 
-Después:  
 
   
"A partir del 11 de abril del 2006 Internet Explorer ha modificado parte de sus funciones para adaptarse a una decisión judicial en lo Estados Unidos.

Eolas Technology y la Universidad de California demandaron a Microsoft al considerar que el Internet Explorer empleaba tecnologías patentadas como los controles ActiveX, los cuales permiten mostrar objetos e interactuar con ellos de manera sencilla.

La corte resolvio el caso a favor de los demandantes y condenó a la empresa a pagar 521 millones de dólares y Microsoft modificó la presentación del contenido multimedia (Flash, Quicktime, RealOne Player, Acrobat Reader, Java Virtual Machine y Windows Media Player) en su navegador.

De esta manera el usuario será el que autorice la descarga de los archivos multimedia a través de un clic"
 
-Leído en 'Maestros del web'. Leer el texto completo...  
   
::¿Por qué afecta a Internet Explorer y no a Firefox, por ejemplo?  
   
"Firefox NO USA active X, por eso en parte su seguridad".
"... Firefox es más estable, más rápido y efectivamente más seguro".
 
-Leído en 'Cristal Lab'. Leer el texto completo...  
   
-Solución:  
   
"SWFObject es un pequeño archivo javascript usado para incrustar contenido de Macromedia Flash. Su autor es Geoff Stearns y es un método validado para XHTML estricto, es limpio y rápido. Por otro lado se espera que sea también compatible hacia adelante, por lo que debería funcionar por muchos años.
Su única desventaja es que requiere Javascript, pero la mayoría de los navegadores actuales lo traen activado por defecto así que no debería representar mayor problema".
 
   

- Solución resumida - paso a paso:


- 1º: Hay que descargar un archivo javaScript del sitio web de Geoff Stearns.

-2º: Subimos ese archivo de javaScript junto con el resto de archivos (html, etc.) que componen nuestro sitio web a nuestro servidor.

-3º: En el 'head' de la página web en la que va a aparecer el 'swf' escribimos la siguiente línea de código, para que llame a ese archivo de javaScript:

<script type="text/javascript" src="swfobject.js"></script>

-4º: En el 'body' insertamos el 'swf', pero no lo vamos a hacer con la etiqueta 'embed' que utilizabamos antes, sino que vamos a hacerlo mediante javaScript. Por ejemplo:

<div id="contenidoflash">
Este es el texto que reemplazará la película flash. Conviene añadir un enlace al sitio web de Adobe donde se puede descargar el plugin de flash, si no lo tiene*
</div>

<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
so.write("contenidoflash");
</script>


[ *Nota: Url del sitio web de Flash para descargar el plugin ]

En definitiva, ahora, en vez de cargar el swf con la etiqueta 'embed' como hasta ahora, utilizamos javaScript para cargarlo. En caso de que por alguna razón (no tiene instalado el plugin de flash el navegador, por ejemplo) no pueda verse el archivo swf, aparecerá el texto que insertemos dentro de la capa 'contenidoflash'. Puede ser interesante añadir ahí un enlace que permita obtener un pluging de Flash del sitio web de Adobe Flash, a quien no lo tenga instalado en su ordenador todavía.

 
   
- Traducción a español de la página oficial de SWFObject con la explicación COMPLETA (CMS10)  
 
::¿SWFObject para un 'swf' a pantalla completa?  
   
- Solución resumida 'a pantalla completa'- paso a paso:  


- El paso 1º y 2º son los mismos que si quisieramos que el swf tuviera un tamaño concreto (caso anterior).

-3º: En el 'head' de la página web en la que va a aparecer el 'swf' escribimos la siguiente línea de código, para que llame a ese archivo de javaScript:

<script type="text/javascript" src="swfobject.js"></script>

Hasta aquí igual también que en el caso anterior.

-4º: En el 'body' insertamos el 'swf', pero no lo vamos a hacer con la etiqueta 'embed' que utilizabamos antes, sino que vamos a hacerlo mediante javaScript (hasta aquí también igual que en el caso anterior). Es decir:

<div id="contenidoflash">
Este es el texto que reemplazará la película flash. Conviene añadir un enlace al sitio web de Adobe donde se puede descargar el plugin de flash, si no lo tiene*
</div>

<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "100%", "100%", "7", "#336699");
so.write("contenidoflash");
</script>


5º: El problema es que así funciona correctamente en Internet Explorer, pero no Firefox. Así que para terminar volvemos al 'head' y copiamos y pegamos el siguiente 'script':

<style type="text/css">
/* hide from ie5 mac \*/
html {
height: 100%;
overflow: hidden;
}
#contenidoflash {
height: 100%;
}
/* end hide */
body {
height: 100%;
margin: 0;
padding: 0;
}
</style>


Listo, puedes comprobar que se ve bien tanto en internet Explorer como en Firefox. Más información sobre este último punto en en este hilo del foro de Domestika.

 
   
::¿SWFObject es lo mismo que Flashobject?...  
   
"SWFObject se llamaba primero Flashobject, pero su autor Geoff Stearns tuvo que cambiarle el nombre por requerimiento de Adobe Flash, para quien el término 'Flash' es un nombre de su propiedad". Leer más del por qué tuvo su autor que cambiar el nombre...  
   
::Flash 8:  
   
"Adobe ha creado un plugin para Flash 8 que automatiza en gran medida este proceso".
Pluggin de Adobe para Flash 8:
 
   
-Flash Professional 8 and Flash Basic 8 Active Content Update (Linkorama, blog sobre diseño, recursos útiles, tecnología...)  
   
   
   
Fecha de la última modificación:  
-