为什么Firefox无法运行本地.swf文件?

我的目标是尝试通过Firefox运行.swf文件而不是独立播放器。

当尝试在Firefox 29.0(目前在14.04)上运行本地.swf文件时,即使浏览器安装了Flash插件,浏览器也会打开“打开方式/保存文件”提示窗口。 右键单击该文件,然后单击打开方式…> Firefox只会使浏览器打开一个新选项卡,然后再次打开打开方式/保存文件。 通过该提示窗口选择Firefox仍然只会让Firefox在新选项卡上再次打开提示。

但是,当在线访问.swf文件时,它们会正常运行,Firefox甚至会在地址栏中显示看起来像Lego的插件指示“我正在访问.swf的地址启用了”Adobe Flash“。

在Firefox的首选项“应用程序”选项卡中,SWF文件当前设置为“使用Shockwave Flash(在Firefox中)”,因此我不明白为什么它不能像本地文件那样执行操作。

更新:显然,Firefox在其首选项的“应用程序”选项卡中为不同的mime类型分别添加了“Shockwave Flash文件”条目。 找到了我在下面输入的解决方法。

另一个选择是在主目录中创建~/.mime.types ,其中包含以下内容:

 application/x-shockwave-flash swf swfl 

这样就不会在系统升级时被覆盖。

如果需要,可以复制,粘贴并运行此命令来执行此操作:

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

不需要进一步的命令,甚至浏览器重启都没有。

在这里找到了一个基于Arch线程的解决方法。 根据我的理解,这只是Firefox无法正确支持某种mime类型的问题。

以root身份编辑/usr/share/mime/packages/freedesktop.org.xml并替换以下内容:

  

附:

  

然后运行:

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

得到本地.swf文件现在正常工作。