Почему Firefox не может запускать локальные файлы .swf?

68

Моя цель - попытаться запустить файлы .swf через Firefox, а НЕ через отдельный проигрыватель.

При попытке запустить локальные файлы .swf в Firefox 29.0 (в настоящее время - 14.04) браузер открывает окно приглашения «Открыть с / сохранить файл», даже если в браузере установлен плагин Flash. Щелкнув правой кнопкой мыши по файлу и выбрав Открыть с помощью ...> Firefox, браузер открывает новую вкладку, а затем снова предлагает открыть с помощью / Сохранить файл. Выбор Firefox через это окно приглашения все равно заставит Firefox снова открыть приглашение на новой вкладке.

Однако при доступе к файлам .swf в Интернете они работают нормально, и Firefox даже отображает индикатор плагинов в стиле Lego в адресной строке, сообщая, что «Adobe Flash» включен для адреса, с которого я получаю доступ к .swf.

На вкладке «Приложения» в настройках Firefox для SWF-файлов в настоящее время установлено «Использовать Shockwave Flash (в Firefox)», поэтому я не понимаю, почему он не будет делать то, что говорит в случае локальных файлов.

ОБНОВЛЕНИЕ: По-видимому, Firefox имеет отдельные записи «Shockwave Flash File» на вкладке «Приложения» в своих настройках для различных типов пантомимы. Нашел обходной путь, который я ввел ниже.

maki57
источник
// Отличный вопрос! Мне очень нравится, как ты это изложил. Это легко найти в результатах поиска и описывает проблему несколькими различными способами, упоминая возможности.
Натан Басанезе

Ответы:

51

Другой вариант - создать ~/.mime.typesв домашнем каталоге следующий контент:

application/x-shockwave-flash       swf swfl

Таким образом, он не будет перезаписан при обновлении системы.

Если вы хотите, вы можете скопировать, вставить и запустить эту команду, чтобы сделать это:

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

Никаких дополнительных команд не требуется, даже перезапуск браузера.

Aleh
источник
1
Вы имеете в виду создать пустой документ с именем .mime.types в домашнем каталоге, а затем поместить в него текст, который вы указали? Кроме того, какую команду update-mime-database мы будем использовать после этого?
Ads20000
1
Да, простой текстовый файл. Нет необходимости запускать update-mime-database с этим обходным путем, достаточно иметь этот файл в домашнем каталоге.
Aleh
6
намного проще, удобнее и все работает!
FairMiles
3
Да, это не так.
Aleh
3
Это определенно лучший метод, без рут-доступа, настолько простой, и самое главное, он просто работает!
TuxForLife
63

Нашли обходной путь здесь , который основан на потоке Arch здесь . Из того, что я понял, это просто проблема с Firefox, неправильно поддерживающим определенный тип MIME.

Отредактируйте /usr/share/mime/packages/freedesktop.org.xmlкак root и замените следующее:

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

С участием:

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

А затем запустите:

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

Теперь локальные файлы .swf работают правильно.

maki57
источник
// Проверено. Работает на моей машине 14.10 с Firefox 38.0. Я получил некоторые странные ошибки по sudo update-mime-database /usr/share/mimeкоманде, хотя. Su ~ sudo vi /usr/share/mime/packages/freedesktop.org.xml [sudo] пароль для Натана: ➜ sudo update-mime-database / usr / share / mime Неизвестный тип носителя в типе «все / все» Неизвестный носитель введите тип 'all / allfiles' Неизвестный тип мультимедиа в типе 'uri / mms' Неизвестный тип мультимедиа в типе 'uri / mmst' Неизвестный тип мультимедиа в типе 'uri / mmsu' Неизвестный тип мультимедиа в типе 'uri / pnm' Неизвестный мультимедиа введите тип 'uri / rtspt' Неизвестный тип носителя в типе 'uri / rtspu' ➜
Натан Басанезе
2
Это выглядит как грязный хак для меня (в отличие от хорошего и рабочего ответа с конфигурационным файлом домашнего каталога).
Никто
2
Другой ответ намного лучше.
Этот бразильский парень