Hola,

Siento la tardanza en la respuesta, el trabajo, ya sabes. Bueno, lo primero
tengo que decir que esta es un critica constructiva, no tengo nada en contra
del trabajo de Sergi, que por el contrario me parece muy interesante.

Otro punto que tengo que aclarar es que yo Flash lo veo como una plataforma
de despliegue para RIAs. Sencillamente usar Flash para hacer un menú en una
pagina HTML me parece, cuanto menos, inadecuado y con pocas ventajas. Asi
que entrando en ese tema conceptual, y mirando un poco el uso más amplio de
Flash, tendría que decir que llevas razón en parte. Es decir, si alguien es
tan obsceno de poner un menú Flash en una página HTML tu método es cojonudo
para eso, muy recomendable, de hecho. Es un poco lo que te decía, lo veo
correcto para reemplazar contenido HTML por Flash, pero no en el caso
contrario. Es decir, si tu tienes una aplicación Flash, por ejemplo un mini
lector RSS en tu pagina, dudo mucho que puedas ofrecer un contenido
alternativo. Y utilizar JS para desplegarlo se vuelve contraproducente
debido a las implicaciones que tiene esta técnica en entornos "no-js
si-flash" (teléfonos móviles y handhelds por ejemplo). Sobre todo porque tu
detección de la versión de Flash es muy débil. Se basa en browser sniffing y
en la localización de la versión dentro de un string:

else if(navigator.appVersion.indexOf("MSIE")>-1)
o
version = parseInt(desc.substring(16));

Este código, mas tarde o más temprano volverá darte una patada en el culo
;), ya me entiendes. Aunque en tu favor diré que dudo que esto se pueda
hacer de una manera mejor. La detección de la versión de flash no lo ha
podido hacer ni Macromedia de una manera correcta. Y lo han intentado,
créeme.

En cuanto al problema de despliegue con una versión anterior que comentas,
dudo también que se pueda hacer nada al respecto. Vamos, nada que no hayas
comentado. La aproximación de la lanzadera con Flash 4 me parece la más
correcta, aunque yo normalmente me complico bastante menos y simplemente
pongo un pequeño texto que diga "Necesitas la versión x de Flash". Descartar
a la gente con el Plugin de Flash 3 no me parece tampoco inadecuado, si es
que existe alguien que aun lo tiene.

En cuanto al tamaño de Javascript... bueno, creo que el problema es el
intentar dar soporte a NS4, porque te molestas? ;) ya era un paria hace
años, dejadle morir tranquilo.

Otro problemilla, tu js inserta código que no valida. Usa el <embed>. Si,
pasará el validador del W3C porque este no ejecutará el JS, pero en el fondo
de tu alma sabrás que se la estas colando ;).

> La del flash satay no me voy a molestar en repasar... El de los
> comentarios condicionales, bueno, allá va. Si una página tiene 4
> archivos flash vas a necesitar muchos bloques condicionales... y además
> el embed no permite contenido alternativo (él mismo es el contenido
> alternativo del object), con lo que necesitamos javascript para cubrir
> todas las opciones.

Hombre, el Flash satay tiene algunas pegas, pero en determinadas situaciones
me parece que va muy bien. En cuanto al de los comentarios condicionales, lo
reconozco, es un poco churro, pero a mi me parece muy correcto, valida y
permite contenido alternativo. Aunque nunca se me ocurriría meter 4 Flash en
una pagina xD. Y por cierto, no usa <embed>, no se porque lo mencionas.
¿Igual no hablamos del mismo?

Y por último el tema de los parámetros tipo allowScriptAccess, si Macromedia
los tiene muy escondidos:

http://www.macromedia.com/cfusion/knowledgebase/index.cfm?event=view&id=KC.t
n_16494&extid=tn_16494

En realidad creo que aquí te puedo dar una idea, si me lo permites. Tu
función de addFlash usa demasiados parámetros y confía en saberlos todos.
¿Por qué no dejas pasar un único parámetro de un objeto genérico y lo usas
para construir el marcado? Algo así como:

var flashparams = new Object();
flashparams.FlashVars = "foo=var";
flashparams.quality = "high";
flashparams.height = 800;
flashparams.width = 600;

addFlash(0,5,"fl5.swf",fl1,in,out",flashparams);

De esta manera no te mojas en cuanto a los posibles parámetros y no te queda
un pedazo de churro de llamada que es totalmente ilegible. Bueno, es una
idea.

Una discusión muy interesante, de verdad, y como te he dicho antes, este
método me parece correcto en determinadas situaciones.

Un saludo,

Joseba Alonso



_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo

Responder a