浏览器插件

来自 Arch Linux 中文维基

浏览器插件因使用的 API 不同而分为两个不同的类型:

  • Netscape plugin API (NPAPI): 一些小众浏览器支持(FirefoxChromium 不再支持)。
  • Pepper plugin API (PPAPI): 一些小众浏览器支持(Chromium 不再支持,Firefox 从未支持过)。

Flash 播放器[编辑 | 编辑源代码]

Adobe Flash Player[编辑 | 编辑源代码]

警告: Adobe Flash Player支持已经在 2020.12.31 结束。已经没有浏览器支持它。另外,这个项目不再收到任何 Bug 修复或安全升级。见 [1]

flashplayer-standaloneAUR 包是一个旧的可用版本。在硬 EOL 插入在 Flash Player 前,它就被推送了,所以这个版本可继续工作。

Gnash[编辑 | 编辑源代码]

警告: Gnash并未积极维护。[2] 最后的版本发布在 2012 年。

Gnash 是一个 Adobe Flash Player 的自由替代。它可作为一个电脑或嵌入式设备的播放器。作为一个浏览器插件,它支持到版本 7 的 SWF 格式(包括一些版本 8 和 9 的特性)以及80%的ActionScript2.0。

Gnash 可以用 gnash-gitAUR 包安装。

Lightspark[编辑 | 编辑源代码]

Lightspark是另一个 Adobe Flash Player 的自由替代。它是针对新 Flash 格式自由替代的尝试。Lightspark 可使用 Gnash 的旧内容,只要用户同时安装它们。另外它一直活跃开发,它支持一些流行网页

Lightspark 可用 lightsparkAURlightspark-gitAUR 包安装。

Ruffle[编辑 | 编辑源代码]

注意: Ruffle 是作为浏览器扩展来运行,而不是浏览器插件。

Ruffle是一个用 Rust 写成的 Flash Player 模拟器。它可作为一个独立的程序在本地运行,同时也可在所有的现代浏览器使用 WebAssembly 运行。项目仍然在活跃的开发中,正式的ActionScript1.0/2.0 支持已经完成和改善,而 ActionScript 3.0 支援将要到来。

独立的Ruffle本地程序可用 ruffle-gitAURruffle-nightly-binAUR包安装,或直接安装这个火狐扩展

Java (IcedTea)[编辑 | 编辑源代码]

注意: 所有 Java 插件都是仅支持 NPAPI

要在你的浏览器启用 Java 支持,你有两个选项:开源的OpenJDK (推荐) 或甲骨文的专有软件。关于为何 OpenJDK 被推荐的更详细的解释,请见 [3]

若使用 OpenJDK ,你需要安装 IcedTea 浏览器插件,包 icedtea-web提供它。

如果你想要使用甲骨文的 JRE,安装 jreAUR 包.

多媒体后端[编辑 | 编辑源代码]

许多浏览器使用 GStreamer 框架来播放 HTML5 中的多媒体 <audio><video> 元素。检查你的浏览器包的可选依赖(或web引擎,如 webkit2gtkqt5-webkit)来确定它是否支持 GStreamer。见GStreamer#Installation 对各种插件的描述。

对于你的浏览器无法适配的媒体格式(如多数浏览器不播放 .mkv 文件),这个插件可用:

  • VLC Plugin — NPAPI plugin that uses VLC as backend.
https://code.videolan.org/videolan/npapi-vlc || npapi-vlcAUR

MozPlugger[编辑 | 编辑源代码]

警告: MozPlugger 已不维护。最后的版本更新于2014。

MozPlugger 是一个可在你浏览器展示多种多媒体格式的 NPAPI 插件。为了实现这些,它需要使用许多程序,如 MPlayer, xine, Evince, OpenOffice, TiMidity等。

MozPlugger可用 mozpluggerAUR 包安装。

为了修改或增加 MozPlugger 使用的程序,只需要修改 /etc/mozpluggerrc 文件。更详细的 MozPlugger 选项列表,请见:mozplugger(7)

PDF查看器[编辑 | 编辑源代码]

如果你想要通过 MozPlugger 使用 Evince,你需要在 /etc/mozpluggerrc 中寻找包含了 pdf 的行,并修改 GV() 后的相似行:

repeat noisy swallow(pdf_reader) fill: pdf_reader "$file"

之后,你需要改变{ {ic|about:config}} 中的两个值:

  • 改变 pdfjs.disabled的值为true;
  • 改变 plugin.disable_full_page_plugin_for_types 的值为空.

然后重启Firefox以使用插件。

使用 LibreOffice 替代 OpenOffice[编辑 | 编辑源代码]

MozPlugger 默认使用 OpenOffice 打开 doc 文件。为了换成 Libreoffice,请见这个 OpenOffice 部分:

/etc/mozpluggerrc
...
### OpenOffice
define([OO],[swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 "$file"
    swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 "$file"
    swallow(VCLSalFrame) fill: soffice -nologo $1 "$file"])
...

后在列表的开始处增加 LibreOffice:

/etc/mozpluggerrc
...
### LibreOffice/OpenOffice
define([OO],[swallow(VCLSalFrame) fill: libreoffice --nologo --norestore --view $1 "$file"
    swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 "$file"
    swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 "$file"
    swallow(VCLSalFrame) fill: soffice -nologo $1 "$file"])
...

用 Kate 打开 cpp 文件[编辑 | 编辑源代码]

另一个简单地例子,如果你想用你喜欢的文本编辑器(例中使用了 Kate),来在打开 cpp 文件的时候有语法高亮。只用增加新的片段到 mozpluggerrc 文件:

/etc/mozpluggerrc
text/x-c++:cpp:C++ Source File
text/x-c++:hpp:C++ Header File
    repeat noisy swallow(kate) fill: kate -b "$file"

使用mpv替代MPlayer[编辑 | 编辑源代码]

要让 MozPlugger 使用 mpv 播放器来代替默认的 MPlayer,你需要修改一些必要的地方,如:

/etc/mozpluggerrc
...
### MPlayer

#define(MP_CMD,[mplayer -really-quiet -nojoystick -nofs -zoom -vo xv,x11 -ao esd,alsa,oss,arts,null -osdlevel 0 $1 </dev/null])
define(MP_CMD,[mpv -really-quiet $1 </dev/null])

#define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(-xy $width -wid $window $1)])
define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(--autofit=$width -wid $window $1)])

#define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(MPlayer): MP_CMD($1)])
define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(mpv): MP_CMD($1)])

...

#define(MP_AUDIO,[mplayer -quiet -nojoystick $1 </dev/null])
define(MP_AUDIO,[mpv -really-quiet $1 </dev/null])

#define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mplayer -quiet -nojoystick $1 "$file" </dev/null])
define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mpv -really-quiet $1 "$file" </dev/null])
...