Evitar navegación.
Principal

flash

Validar Flash para XHTML

A pesar de que flash es uno de los elementos más activos en las páginas webs hoy en día, la gran mayoría de los diseñadores no saben cómo corregir el extendido problema de insertar flash en un documento HTML, el concepto de estándar propagado por Macromedia es absolutamente incorrecto.

...
embed src="movie.swf" quality="high" bgcolor="#ffffff" width="550" height="400"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"
...

Atributos como object son necesarios en Internet Explorer y no funcionan en otros navegadores, estos otros utilizan el elemento "embed" para el mismo propósito, pero este no está listado en las especificaciones de HTML o XHTML.

Soluciones

¿Que es lo que deseamos?

* Que funcione en la mayoria de los navegadores
* Que muestre contenido alternativo si el usuario no tiene Flash Player

Solución 1

Se han probado distintas soluciones en las cuales siempre uno de los dos grandes navegadores sale perdiendo (Mozilla o IE), pero hay una solución en la que mediante distintas condiciones podemos combinar ambos scripts para que funcione de manera correcta en la mayoría de los navegadores, haciendo especial hincapié en los más populares (Mozilla,IE).

Esta es la solución.

Quizás no sea la más elegante pero es funcional.

* Valida
* Es funcional en todos los navegadores que conozco
* Muestra contenido alternativo si Flash Player no esta instalado
* No requiere el uso de Javascript

Solución 2

Se trata de no validarlo. Es decir, si el único problema en la página es el código para flash, y no hay ningún estándar, entonces lo que hay que hacer es sacar ese código de la página y validarla, pero manteniendo el funcionamiento de la página.

Este proceso es sencillo y práctico, y depende de Javascript. Ya sé que si Javascript es deshabilitado entonces simplemente no se desplegará nada, pero esta opción es valida porque:

* Valida
* Es funcional en todos los navegadores
* Muestra contenido alternativo si Flash Player no esta instalado
* En el caso extremo de que Javascript esté deshabilitado, la animación no se muestra, pero simple código HTML puede hacer la función de soporte, explicando qué había ahí.


Subir archivos en Flash con FileReference y Php

La última versión de Adobe Flash trae una clase realmente útil a la hora de subir archivos mediante Flash, esta tarea en versiones anteriores era bastante más complicada.

Para realizar este ejemplo no se necesita casi ningún tipo de conocimiento previo ya que es un ejemplo bastante sencillo, la clase flash.net.FileReference
nos permite abrir la caja de búsqueda de archivos de nuestro sistema operativo y escoger archivo para enviarlo al servidor.

En los ejemplos de la página el directorio de destino no tiene permisos de escritura así que la subida no se llegará a completar, de todas maneras en los ejemplos se puede ver el proceso completo.

Ejemplo de uso de FileReference

Este es un ejemplo con una interfaz en la cual se puede subir archivos a un servidor remoto, mostrando una barra de progreso y una lista de las acciones que se van realizando, todo ello usando la clase anteriormente citada flash.net.FileReference.

Como he dicho anteriormente el ejemplo es muy sencillo y está debidamente comentado, en este enlace te puedes descargar el ejemplo completo para probarlo en otro servidor.

Ver ejemplo
Descargar código fuente

Para ver bien su funcionamiento habrá que subir un archivo de un peso aproximado a 1 MB.



Insertar flash compatible con W3C, no es imposible

A pesar de que flash es uno de los elementos más activos en las páginas webs hoy en día, la gran mayoría de los diseñadores no saben cómo corregir el extendido problema de insertar flash en un documento HTML, el concepto de estándar propagado por Macromedia es absolutamente incorrecto.

...
embed src="movie.swf" quality="high" bgcolor="#ffffff" width="550" height="400"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"
...

Atributos como object son necesarios en Internet Explorer y no funcionan en otros navegadores, estos otros utilizan el elemento "embed" para el mismo propósito, pero este no está listado en las especificaciones de HTML o XHTML.