瀏覽器插件

出自 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])
...