Dlaczego Firefox nie może uruchamiać lokalnych plików .swf?

68

Moim celem jest próba uruchomienia plików .swf przez Firefox, a NIE samodzielny odtwarzacz.

Podczas próby uruchomienia lokalnych plików .swf w przeglądarce Firefox 29.0 (obecnie 14.04) przeglądarka otwiera okno dialogowe Otwórz za pomocą / Zapisz plik, nawet jeśli przeglądarka ma zainstalowaną wtyczkę Flash. Kliknięcie pliku prawym przyciskiem myszy i kliknięcie Otwórz za pomocą ...> Firefox powoduje, że przeglądarka otwiera nową kartę, a następnie monit o ponowne otwarcie za pomocą / Zapisz plik. Wybór Firefoksa w tym oknie zachęty spowoduje, że Firefox ponownie otworzy monit w nowej karcie.

Jednak podczas uzyskiwania dostępu do plików .swf online działają one normalnie, a Firefox pokazuje na pasku adresu nawet wyglądający Lego wskaźnik wtyczki, informujący, że „Adobe Flash” jest włączony dla adresu, z którego uzyskuję dostęp do .swf.

Na karcie Aplikacje preferencji Firefoksa pliki SWF są obecnie ustawione na „Użyj Shockwave Flash (w Firefox)”, więc nie rozumiem, dlaczego nie zrobi tego, co mówi w przypadku plików lokalnych.

AKTUALIZACJA: Najwyraźniej Firefox ma osobne wpisy „Shockwave Flash File” na karcie Aplikacje w Preferencjach dla różnych typów MIME. Znaleziono obejście, które wprowadziłem poniżej.

maki57
źródło
// Doskonałe pytanie! Naprawdę podoba mi się, jak to ułożyłeś. Łatwo jest znaleźć w wynikach wyszukiwania i opisuje problem na kilka różnych sposobów, podając możliwości.
Nathan Basanese

Odpowiedzi:

51

Inną opcją jest utworzenie ~/.mime.typesw katalogu domowym o następującej treści:

application/x-shockwave-flash       swf swfl

W ten sposób nie zostanie zastąpione podczas aktualizacji systemu.

Jeśli chcesz, możesz skopiować, wkleić i uruchomić to polecenie, aby to zrobić:

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

Nie są wymagane żadne dalsze polecenia, nawet ponowne uruchomienie przeglądarki.

Aleh
źródło
1
Czy masz na myśli utworzenie pustego dokumentu o nazwie .mime.types w katalogu domowym, a następnie wstawienie do niego podanego tekstu? Jakiego polecenia update-mime-database używamy po tym?
Ads20000
1
Tak, zwykły plik tekstowy. Z tym obejściem nie trzeba uruchamiać update-mime-database, posiadanie tego pliku w katalogu domowym powinno wystarczyć.
Aleh
6
o wiele prostsze, wygodne i działa!
FairMiles,
3
Tak nie jest.
Aleh
3
Jest to zdecydowanie najlepsza metoda, brak dostępu do katalogu głównego, tak prosta, a co najważniejsze, po prostu działa!
TuxForLife,
63

Znaleziono obejście tutaj , która opiera się na wątku Arch tutaj . Z tego, co zrozumiałem, jest to po prostu problem z niepoprawnym obsługiwaniem przeglądarki Firefox przez pewien typ MIME.

Edytuj /usr/share/mime/packages/freedesktop.org.xmljako root i zastąp następujące:

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

Z:

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

A następnie uruchom:

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

Lokalne pliki .swf działają teraz poprawnie.

maki57
źródło
// Testowany. Działa na mojej maszynie 14.10 z Firefoksem 38.0. Jednak na polecenie dostałem kilka dziwnych błędów sudo update-mime-database /usr/share/mime. ➜ ~ sudo vi /usr/share/mime/packages/freedesktop.org.xml [sudo] hasło dla nathan: ➜ sudo update-mime-database / usr / share / mime Nieznany typ nośnika typu „all / all” Nieznany nośnik wpisz typ „all / allfiles” Nieznany nośnik wpisz „uri / mms” Nieznany typ nośnika typu „uri / mmst” Nieznany typ nośnika typu „uri / mmsu” Nieznany typ nośnika typu „uri / pnm” Nieznany nośnik wpisz „uri / rtspt” Nieznane media wpisz „uri / rtspu” ➜
Nathan Basanese
2
Dla mnie to wygląda na brudny hack (w przeciwieństwie do dobrej i działającej odpowiedzi z plikiem konfiguracyjnym katalogu domowego).
Nikt
2
Druga odpowiedź jest znacznie lepsza.
Ten Brazylijczyk