缺失多年,GNOME Web(Epiphany)終于支持?jǐn)U展了
GNOME Web(2012 年之前稱為 Epiphany)是一個開源的網(wǎng)絡(luò)瀏覽器,基于蘋果 WebKit 渲染引擎的 GTK 移植 —— WebKitGTK。它是由 GNOME 項目為類 Unix 系統(tǒng)開發(fā)的,是 GNOME 的默認(rèn)和官方網(wǎng)絡(luò)瀏覽器,也是 GNOME Core 應(yīng)用程序的一部分。
盡管是 GNOME 的一個組件,GNOME Web 沒有對 GNOME 組件的依賴性,因此它也可以被安裝在任何支持 GTK 和 WebKitGTK 的系統(tǒng)上。GNOME Web 也是 elementary OS 和 Bodhi Linux 5 的默認(rèn)網(wǎng)絡(luò)瀏覽器
過去 GNOME Web 確實(shí)支持?jǐn)U展,但因?yàn)樗鼈冃枰L問瀏覽器的內(nèi)部結(jié)構(gòu),而且在新版本發(fā)布時經(jīng)常出現(xiàn)問題。為了避免這些問題,后來 GNOME Web 不再支持?jǐn)U展。
近日 GNOME 開發(fā)者在博客表示,已經(jīng)將 WebExtensions 帶到了 GNOME Web 上,WebExtensions API 允許用戶使用原生網(wǎng)絡(luò)技術(shù)建立擴(kuò)展,并統(tǒng)一了不同瀏覽器的擴(kuò)展開發(fā)(WebExtensions 用于 Chrome、Firefox 和 Safari)。一個支持?jǐn)U展的 GNOME Web 版本將包含在 GNOME 43 中,該版本計劃于 9 月 21 日發(fā)布。
需要注意的是,目前 GNOME Web 只實(shí)現(xiàn)了 WebExtension API 的一部分,但這種支持已經(jīng)足以運(yùn)行一些當(dāng)下知名的擴(kuò)展了。隨著時間的推移,WebExtension API 的支持將被進(jìn)一步擴(kuò)展。開發(fā)工作目前仍在進(jìn)行中,重點(diǎn)是實(shí)施 Manifest V2 API,并確保與 Firefox 和 Chrome 擴(kuò)展兼容,支持 Manifest V3 的計劃在未來也將與 V2 同時進(jìn)行。
目前支持的 API 包括:
- alarms :調(diào)度事件在特定日期或時間觸發(fā)
- cookies :管理和查詢?yōu)g覽器的 cookies
- downloads :啟動和管理下載的能力
- menus :創(chuàng)建上下文菜單項
- notifications :顯示桌面通知的功能
- storage :存儲擴(kuò)展的私人設(shè)置
- tabs :控制和監(jiān)控瀏覽器的標(biāo)簽,包括創(chuàng)建、關(guān)閉等
- windows :控制和監(jiān)控瀏覽器窗口
在目前暫未實(shí)現(xiàn)的 API 中有一個需要開發(fā)者注意的那就是 webRequest API,它通常被 uBlock Origin 等屏蔽擴(kuò)展使用。開發(fā)者承諾將在未來的某個時候?qū)崿F(xiàn)這個 API,但是需要 WebKitGTK 進(jìn)行一些改進(jìn)。
GNOME 的下一個版本也將帶回對獨(dú)立的 PWA(漸進(jìn)式 Web 應(yīng)用程序)的支持,它們可以像普通程序一樣被安裝和刪除,在用戶環(huán)境中運(yùn)行 Web 應(yīng)用將由 GNOME Web 瀏覽器處理,同樣也計劃與為 Chrome 創(chuàng)建的 PWA 應(yīng)用程序兼容。