¿Por qué Firefox no puede ejecutar archivos .swf locales?

68

Mi objetivo es intentar ejecutar archivos .swf a través de Firefox y NO un reproductor independiente.

Al intentar ejecutar archivos .swf locales en Firefox 29.0 (actualmente en 14.04), el navegador abre la ventana de solicitud Abrir con / Guardar archivo incluso si el navegador tiene instalado el complemento Flash. Al hacer clic con el botón derecho en el archivo y hacer clic en Abrir con ...> Firefox solo hace que el navegador abra una nueva pestaña y luego se le pide que abra de nuevo / Guardar archivo nuevamente. Al seleccionar Firefox a través de esa ventana de solicitud, Firefox volverá a abrir la solicitud en una nueva pestaña.

Sin embargo, cuando acceden a archivos .swf en línea, se ejecutan normalmente y Firefox incluso muestra el indicador de complemento con aspecto de Lego en la barra de direcciones que dice que "Adobe Flash" está habilitado para la dirección desde la que accedo a .swf.

En la pestaña Aplicaciones de las preferencias de Firefox, los archivos SWF están configurados actualmente para "Usar Shockwave Flash (en Firefox)", por lo que no entiendo por qué no hará lo que dice para el caso de los archivos locales.

ACTUALIZACIÓN: Aparentemente, Firefox tiene entradas separadas de "Shockwave Flash File" en la pestaña Aplicaciones de sus Preferencias para diferentes tipos de mime. Encontré una solución que ingresé a continuación.

maki57
fuente
// ¡Excelente pregunta! Realmente me gusta cómo explicaste esto. Es fácil de encontrar en los resultados de búsqueda y describe el problema de varias maneras diferentes, mencionando las posibilidades.
Nathan Basanese

Respuestas:

51

Otra opción es crear ~/.mime.typesen el directorio de inicio con el siguiente contenido:

application/x-shockwave-flash       swf swfl

De esta manera, no se sobrescribirá en la actualización del sistema.

Si lo desea, puede copiar, pegar y ejecutar este comando para hacer esto:

echo 'application/x-shockwave-flash       swf swfl' >> .mime.types

No se necesitan más comandos, ni siquiera un reinicio del navegador.

Aleh
fuente
1
¿Quiere decir crear un documento vacío llamado .mime.types en el directorio de Inicio y luego poner el texto que indicó en él? Además, ¿qué comando update-mime-database utilizamos después de eso?
Ads20000
1
Sí, un archivo de texto sin formato. No es necesario ejecutar update-mime-database con esta solución, tener este archivo en el directorio de inicio debería ser suficiente.
Aleh
66
mucho más simple, conveniente y funciona!
FairMiles
3
Sí, no lo hace.
Aleh
3
Este es definitivamente el mejor método, sin acceso a la raíz, tan simple, y lo más importante, ¡simplemente funciona!
TuxForLife
63

Encontré una solución aquí que se basa en un hilo Arch aquí . Por lo que entendí, es solo un problema con Firefox que no admite correctamente un cierto tipo de mime.

Edite /usr/share/mime/packages/freedesktop.org.xmlcomo root y reemplace lo siguiente:

<mime-type type="application/vnd.adobe.flash.movie">

Con:

<mime-type type="application/x-shockwave-flash">

Y luego corre:

sudo update-mime-database /usr/share/mime

Ahora tengo archivos .swf locales funcionando correctamente.

maki57
fuente
//, Probado. Funciona en mi máquina 14.10 con Firefox 38.0. Sin embargo, obtuve algunos errores extraños en el sudo update-mime-database /usr/share/mimecomando. ➜ ~ sudo vi /usr/share/mime/packages/freedesktop.org.xml [sudo] contraseña para nathan: ➜ sudo update-mime-database / usr / share / mime Tipo de medio desconocido en tipo 'all / all' Medio desconocido escriba tipo 'all / allfiles' Tipo de medio desconocido en tipo 'uri / mms' Tipo de medio desconocido en tipo 'uri / mmst' Tipo de medio desconocido en tipo 'uri / mmsu' Tipo de medio desconocido en tipo 'uri / pnm' Medio desconocido escriba el tipo 'uri / rtspt' Tipo de medio desconocido en el tipo 'uri / rtspu' ➜
Nathan Basanese
2
Esto me parece un truco sucio (en contraste con la buena y funcional respuesta con el archivo de configuración del directorio de inicio).
Nadie el
2
La otra respuesta es mucho mejor.
Ese chico brasileño