为什么 Firefox 不能运行本地 .swf 文件?

mak*_*i57 69 flash firefox 14.04

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

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

但是,当在线访问 .swf 文件时,它们运行正常,Firefox 甚至在地址栏中显示类似乐高的插件指示器,说我正在访问 .swf 的地址启用了“Adobe Flash”。

在 Firefox 首选项的“应用程序”选项卡中,SWF 文件当前设置为“使用 Shockwave Flash(在 Firefox 中)”,所以我不明白为什么它不会按照本地文件的说明执行操作。

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

mak*_*i57 63

找到一个解决办法在这里它是基于一个拱线在这里。据我了解,这只是 Firefox 无法正确支持某种 MIME 类型的问题。

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

<mime-type type="application/vnd.adobe.flash.movie">
Run Code Online (Sandbox Code Playgroud)

和:

<mime-type type="application/x-shockwave-flash">
Run Code Online (Sandbox Code Playgroud)

然后运行:

sudo update-mime-database /usr/share/mime
Run Code Online (Sandbox Code Playgroud)

本地 .swf 文件现在可以正常工作。

  • 这对我来说看起来像是一个肮脏的黑客(与主目录配置文件的良好和有效答案相反)。 (2认同)
  • 另一个答案要好得多。 (2认同)

Ale*_*leh 51

另一种选择是~/.mime.types在主目录中创建以下内容:

application/x-shockwave-flash       swf swfl
Run Code Online (Sandbox Code Playgroud)

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

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

echo 'application/x-shockwave-flash       swf swfl' >> .mime.types
Run Code Online (Sandbox Code Playgroud)

不需要进一步的命令,甚至不需要重新启动浏览器。

  • 更简单,方便,而且有效! (6认同)
  • 是的,它没有。 (3认同)
  • 这绝对是最好的方法,没有root访问权限,如此简单,最重要的是它只是有效! (3认同)
  • 完成此操作后,由于 FF 现在会阻止闪存,因此您还需要在附加组件页面上取消选中 shockwave 插件首选项的安全框。 (2认同)