为什么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文件现在正常工作。