題 Firefox試圖下載本地.swf文件


我對我的firefox和Flash文件非常惱火:

當我嘗試打開一個 .swf 用它來存檔:

  • 如果文件在網上(通過 http://...),它在瀏覽器中正常播放
  • 如果文件是本地的(通過 file:///...),firefox只顯示一個對話框來下載它

它嘗試打開一個Web swf文件,下載然後在本地打開它,它是一樣的。所以我猜這是一個火狐問題。

我在Gentoo Linux上,它今天開始,沒有任何明顯的原因。


7
2017-12-12 12:48


起源


你最近更新了Firefox嗎? - Ramhound
@Ramhound我幾天前重新安裝了它,增加了對法語的支持,但這不是更新。 - Levans


答案:


經過一番深入研究,我發現它是一個MIME類型的問題。 Linux上的Firefox(或Chrome)如果認為類型為application / vnd.adobe.flash.movi​​e,則不會播放SWF文件。

https://askubuntu.com/questions/478169/why-cant-firefox-run-local-swf-files

以root身份編輯/usr/share/mime/packages/freedesktop.org.xml並替換以下內容:

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

附:

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

然後運行:

update-mime-database /usr/share/mime

我發現之後需要重新啟動Firefox。這是一個非常接近一個腳本的腳本 http://ubuntuforums.org/showthread.php?t=2218732&page=2 執行這些步驟(用sudo運行它),但我會警告你 - 我注意到不同的安裝似乎有不同的間距,這可能會絆倒sed腳本,這就是發生在我身上的事情。

#!/bin/bash
clear
echo "Update file freedesktop.org.xml...";
sed  -e "s/<mime-type type=\"application\/vnd.adobe.flash.movie\">/<mime-type type=\"application\/x-shockwave-flash\">/g"  /usr/share/mime/packages/freedesktop.org.xml >  /usr/share/mime/packages/freedesktop.org.xml.new
mv /usr/share/mime/packages/freedesktop.org.xml /usr/share/mime/packages/freedesktop.org.xml.original
mv /usr/share/mime/packages/freedesktop.org.xml.new /usr/share/mime/packages/freedesktop.org.xml
echo "File updated successfully!";
echo "Update mime database...";
update-mime-database /usr/share/mime
echo "Mime database updated successfully! ALL DONE!";

8
2017-07-01 18:54



手工修改是否完美! - Levans
這很糟糕,但我真的不能期待太多,因為它來自ubuntuforums,如果你只是替換 vnd.adobe.flash.movie 同 x-shockwave-flash 在裡面 mimetype 並且不要替換 x-shockwave-flash 同 vnd.adobe.flash.movie 在裡面 alias,那麼電腦將無法處理 vnd.adobe.flash.movie 了。此外,我強烈建議使用本地編輯而不是系統範圍編輯,例如:製作一個小文件 ~/.local/share/mime/packages/ 用mimetype定義,然後使用 update-mime-datebase ~/.local/share/mime/packages/ - freeforall tousez


請注意,這是Arthur Shipkowski回答的補充, https://superuser.com/a/775669/238284

如果你沒有root權限和/或想要一個沒有搞亂內部系統的解決方法,你可以只創建一個文件並將其放入 ~/.local/share/mime/packages/

  1. 製作一個文件 ~/.local/share/mime/packages/,只要它結束,你可以任意命名 .xml 但我建議命名它 x-shockwave-flash.xml
  2. 打開文件,複製並粘貼(或手動鍵入)下面的代碼,然後保存文件
  3. update-mime-datebase ~/.local/share/mime

X - 衝擊波flash.xml <?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-shockwave-flash"> <comment>Shockwave Flash file</comment> <comment xml:lang="ar">ملف Shockwave Flash</comment> <comment xml:lang="be@latin">Fajł Shockwave Flash</comment> <comment xml:lang="bg">Файл — Shockwave Flash</comment> <comment xml:lang="ca">fitxer Shockwave Flash</comment> <comment xml:lang="cs">Soubor Shockwave Flash</comment> <comment xml:lang="da">Shockwave Flash-fil</comment> <comment xml:lang="de">Shockwave-Flash-Datei</comment> <comment xml:lang="el">αρχείο Shockwave Flash</comment> <comment xml:lang="en_GB">Shockwave Flash file</comment> <comment xml:lang="eo">dosiero de Shockwave Flash</comment> <comment xml:lang="es">archivo Shockwave Flash</comment> <comment xml:lang="eu">Shockwave Flash fitxategia</comment> <comment xml:lang="fi">Shockwave Flash -tiedosto</comment> <comment xml:lang="fo">Shockwave Flash fíla</comment> <comment xml:lang="fr">fichier Shockwave Flash</comment> <comment xml:lang="ga">comhad Shockwave Flash</comment> <comment xml:lang="gl">ficheiro sockwave Flash</comment> <comment xml:lang="he">קובץ של Shockwave Flash</comment> <comment xml:lang="hr">Shockwave Flash datoteka</comment> <comment xml:lang="hu">Shockwave Flash-fájl</comment> <comment xml:lang="id">Berkas Shockwave Flash</comment> <comment xml:lang="it">File Shockwave Flash</comment> <comment xml:lang="ja">Shockwave Flash ファイル</comment> <comment xml:lang="kk">Shockwave Flash файлы</comment> <comment xml:lang="ko">Shockwave 플래시 파일</comment> <comment xml:lang="lt">Shockwave Flash failas</comment> <comment xml:lang="lv">Shockwave Flash datne</comment> <comment xml:lang="ms">Fail Shockwave Flash</comment> <comment xml:lang="nb">Shockwave Flash-fil</comment> <comment xml:lang="nl">Shockwave Flash-bestand</comment> <comment xml:lang="nn">Shockwave Flash-fil</comment> <comment xml:lang="pl">Plik Shockwave Flash</comment> <comment xml:lang="pt">ficheiro Shockwave Flash</comment> <comment xml:lang="pt_BR">Arquivo Shockwave Flash</comment> <comment xml:lang="ro">Fișier Shockwave Flash</comment> <comment xml:lang="ru">файл Shockwave Flash</comment> <comment xml:lang="sk">Súbor Shockwave Flash</comment> <comment xml:lang="sl">Datoteka Shockwave Flash</comment> <comment xml:lang="sq">File Flash Shockwave</comment> <comment xml:lang="sr">Шоквејв Флеш датотека</comment> <comment xml:lang="sv">Shockwave Flash-fil</comment> <comment xml:lang="uk">файл Shockwave Flash</comment> <comment xml:lang="vi">Tập tin Flash Shockwave</comment> <comment xml:lang="zh_CN">Shockwave Flash 文件</comment> <comment xml:lang="zh_TW">Shockwave Flash 檔</comment> <alias type="application/vnd.adobe.flash.movie"/> <alias type="application/futuresplash"/> <generic-icon name="video-x-generic"/> <magic priority="50"> <match value="FWS" type="string" offset="0"/> <match value="CWS" type="string" offset="0"/> </magic> <glob pattern="*.swf"/> <glob pattern="*.spl"/> </mime-type> </mime-info>


2
2018-01-28 23:15





對於某些版本的Firefox來說,這顯然是一個問題,因為在升級到版本25和26之間的某個版本後,我經歷了相同的行為更改。

我使用過Debian,問題在於系統配置中MIME定義的變化。 Firefox似乎不符合這些變化。

在更新到當時最新的Firefox(版本28)後,問題解決了,SWF文件來自 file:// 協議開始像往常一樣開放。


-1
2018-05-02 10:06



為了防止這個再次出現,我發布了一個直接修復作為另一個答案。 - Arthur Shipkowski