CuatroXL

Desarrollo web - Cuatro XL

Archive for the ‘flash’ Category

Thursday
Feb 5,2009

Pasar parámetros por GET a Flash es una práctica muy extendida; pero no deja de dar dolores de cabeza a los desarrolladores, cuando se trata de una cadena con acentos.

La codificación de http (ASCII hex); es el mismo que usa HTML y Javascript para poder decodificar estas cadenas. Por alguna extraña razón Flash utiliza lo mismo pero a excepción de lo acentos, no comprendo por qué usa una codificación distinta para los acentos.

Vamos a ver esas diferencias:

Flash(ejecutar en el IDE de flash)

trace(escape(’á’)+’ ===> ‘+’á’);
trace(escape(’Á’)+’ ===> ‘+’Á’);
trace(escape(’é’)+’ ===> ‘+’é’);
trace(escape(’É’)+’ ===> ‘+’É’);
trace(escape(’í’)+’ ===> ‘+’í’);
trace(escape(’Í’)+’ ===> ‘+’Í’);
trace(escape(’ó’)+’ ===> ‘+’ó’);
trace(escape(’Ó’)+’ ===> ‘+’Ó’);
trace(escape(’ú’)+’ ===> ‘+’ú’);
trace(escape(’Ú’)+’ ===> ‘+’Ú’);

Javascript(ejecutar en el navegador)

alert(escape(’á’)+’ ===> ‘+’á’);
alert(escape(’Á’)+’ ===> ‘+’Á’);
alert(escape(’é’)+’ ===> ‘+’é’);
alert(escape(’É’)+’ ===> ‘+’É’);
alert(escape(’í’)+’ ===> ‘+’í’);
alert(escape(’Í’)+’ ===> ‘+’Í’);
alert(escape(’ó’)+’ ===> ‘+’ó’);

alert(escape(’Ó’)+’ ===> ‘+’Ó’);
alert(escape(’ú’)+’ ===> ‘+’ú’);
alert(escape(’Ú’)+’ ===> ‘+’Ú’);

La diferencia de resultado es absoluta; no tiene nada que ver. Por lo que la solución solo para por una cosa:

  1. parsear la cedena que vamos a pasar por GET, con la forma que acepta flash
  2. al recibir la variable; vamos a ejecutar la función “unescape” en el flash para poder utilizarla
  3. lamentarse de haber usado flash
Thursday
Dec 13,2007

Adobe nos trae un kit bastante útil para los desarrolladores web, Este kit consta de tres partes

Detección en cliente:
un javascript bastant últil, pero pesado  a mi gusto. Este script detecta la versión y si está instalado flash player en el navegador(ie, ff, opera)
Nos devuelve una variable boleana (true/false) y con ella podremos jugar para poner alertas mensajes de requerimiento y cosas parecidas.

Detección desde el propio  flash(Action script):
unos script que tendremos que poner en nuestro swf para poder detectar el navegador. aún no lo he probado

Y por último una versión de instalación expresa, combina las dos soluciones anteriores, tiene muy buena pinta porque cuanto más fácil para el cliente, mejor

Aqui el link a la página de adobe para poder descargar este kit y mirar su pequeña(no hace falta más) documentación

No puedo olvidarme del necesario des-instalador de flash player para poder probar que todo funciona bien.
aquí el enlace