| Hagan click para activar y usar este control |
| Si estas usando windows XP y realizó una actualización de sus sistema operativo, especialmente del Internet Explorer notará que las inserciones de flash en las páginas ya no funcionan como antes. A que me refiero?. Veamos la siguiente imagen: |
|
| Hasta que no se realiza un clic no se pone ponen en funcionamiento el rollOver. |
| La animación si se ve, pero no se activa en un primer clic un evento como el rollOver, enterpress lo cual hace que una franja de creaciones pensadas para flash no funcionen. |
| Piensen en un menu que usa rollOver para mostrar cambios, esto no funciona hasta no realizar un clic y lo peor desde lo estético es el recuadro que aparece mostrando toda el área que ocupa nuestro trabajo realizado en Flash |
| Supongamos un banner.. ya no se activa con un solo clic, ni hablar de los banners que cambian su tamaño al pasar el Mouse sobre el..... |
| Para los que usan en una forma "simple" flash, quizás no vean el problema de fondo, pero para los que usan flash a fondo, si. |
| Por ejemplo, un player realizado en Flash ahora va a necesitar dos clic's para activarlo ya que el primero sobre play activa el componente y el segundo recién activa verdaderamente el play. |
| ¿Se acostumbrará el usuario a este cambio? ¿Será un cambio "transparente"?. |
| ¿Donde comenzó todo este tema? |
| Bueno, todo comenzó cuando Microsoft pierde un juicio con Eolas por el uso de plugins en las páginas web. |
| Eolas reclama su propiedad intelectual de unas patentes porque es la única que tiene licencia para usarlas, de hecho esas patentes inicialmente pertenecen a la Universidad de California. |
Esto tiene como resultado el echo de que ahora todas las páginas que contengan algo embebido de un APPLET, EMBED u OBJECT será afectado con esta nueva modalidad. Realizar un clic, presionar la barra espaciadora o la tecla Enter. |
| Por otro lado Microsoft tuvo que pagar a Eolas unos 560 Millones de dólares por daños. |
| Debido a esto todas las actualizaciones que se realizan a partir del 11 de abril comienzan a presentar esta forma de activación. |
| Sólo afecto a Flash? Por supuesto que no, estamos hablando de todo lo embebido, es decir Java, Quick Time, Real Player, Media Player, Flash, etc. |
| Ahora bien... soluciones?. |
| Hay varias, desde la mas "grotesca" a la "mas profesional". |
| Una posibilidad, que solo soluciona el problema en forma personal, es desisnstalar la actualización de windows. El parche número 912945 debe ser eliminado o ir al panel de control y desisnstalar la actualización KB912945, luego reiniciar la computadora . |
| Esta solución es simplemente para que nosotros no tengamos problemas, pero la mayoría que está leyendo este new son desarrolladores y no podemos ir pc por pc desisnstalando... así que debemos ver algo mejor. |
| Como vemos la solución del lado del cliente no es posible, así que debemos ver algo que solucione este problema del lado del servidor. |
| Una solución posible es usar javascript para agregar flash a nuestras páginas y que trabajen "normalmente". |
| Veamos un ejemplo: |
| 1. Elijan una página que tengan flash. |
| 2. Seleccionen todo lo que esta dentro de las etiquetas "object". |
| 3. Copien ese código en un archivo con extensión .js y cuyo nombre puede ser, como ejemplo, flash_home.js. |
| 4. Agreguen a cada línea document.write(' ... codigo... '); |
| 5. Reemplazamos en el html donde estaba nuestra "object" lo siguiente: <script src="flash_home.js"></script> |
| Con esto es suficiente para que funcione nuestra aplicación en flash sin problemas. Claro que debemos hacer uno por cada uno de las implementaciones que hacemos, pero bueno al menos seguimos en carrera. |
| Veamos un código de ejemplo: |
| Archivo flash_home.js |
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="300" height="150">');
document.write('<param name="movie" value="home.swf">');
document.write('<param name="quality" value="high">');
document.write('<embed src="home.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="150"></embed>');
document.write('</object>'); |
| |
| Luego reemplazamos donde estaba el código original que permitia insertar flash por: |
| <script src="flash_index.js"></script> |
| |
| Para aquellos que son mas programadores pueden ver la solución que plantea Microsoft (ver). |
| |
| Otra posibilidad es usar SWObject: La ventaja que tiene es que podemos utilizar un solo archivo .js para todos las aplicaciones swf's, claro que su implementación implica no solo usar javascript sino también codificar en AS (actionscript) ya que se produce un intercambio de variables. |
| Este modelo lo utiliza la página X-Men The Last Stand. Cuando seleccionamos un idioma vemos que sale una nueva pantalla realizada en flash que no solicita el clic de activación, si se fijan en su código fuente podrán ver lo siguiente: |
| |
<script language="javascript" type="text/javascript">
var fo = new FlashObject("X3.swf", "x3", "980", "700", "8.0.15", "#000000", true);
fo.write("flashcontent");
</script> |
| |
|
|