4

缺失多年,GNOME Web(Epiphany)终于支持扩展了

 1 year ago
source link: https://os.51cto.com/article/713073.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

缺失多年,GNOME Web(Epiphany)终于支持扩展了-51CTO.COM

缺失多年,GNOME Web(Epiphany)终于支持扩展了
作者:OSCHINA 2022-07-04 09:21:16
近日 GNOME 开发者在博客表示,已经将 WebExtensions 带到了 GNOME Web 上,WebExtensions API 允许用户使用原生网络技术建立扩展,并统一了不同浏览器的扩展开发(WebExtensions 用于 Chrome、Firefox 和 Safari)。

GNOME Web(2012 年之前称为 Epiphany)是一个开源的网络浏览器,基于苹果 WebKit 渲染引擎的 GTK 移植 —— WebKitGTK。它是由 GNOME 项目为类 Unix 系统开发的,是 GNOME 的默认和官方网络浏览器,也是 GNOME Core 应用程序的一部分。

尽管是 GNOME 的一个组件,GNOME Web 没有对 GNOME 组件的依赖性,因此它也可以被安装在任何支持 GTK 和 WebKitGTK 的系统上。GNOME Web 也是 elementary OS 和 Bodhi Linux 5 的默认网络浏览器

065f56a35de8a325fb0457c227fb4b99bfed96.png

过去 GNOME Web 确实支持扩展,但因为它们需要访问浏览器的内部结构,而且在新版本发布时经常出现问题。为了避免这些问题,后来 GNOME Web 不再支持扩展。

近日 GNOME 开发者在博客表示,已经将 WebExtensions 带到了 GNOME Web 上,WebExtensions API 允许用户使用原生网络技术建立扩展,并统一了不同浏览器的扩展开发(WebExtensions 用于 Chrome、Firefox 和 Safari)。一个支持扩展的 GNOME Web 版本将包含在 GNOME 43 中,该版本计划于 9 月 21 日发布。

需要注意的是,目前 GNOME Web 只实现了 WebExtension API 的一部分,但这种支持已经足以运行一些当下知名的扩展了。随着时间的推移,WebExtension API 的支持将被进一步扩展。开发工作目前仍在进行中,重点是实施 Manifest V2 API,并确保与 Firefox 和 Chrome 扩展兼容,支持 Manifest V3 的计划在未来也将与 V2 同时进行。

目前支持的 API 包括:

  • alarms :调度事件在特定日期或时间触发
  • cookies :管理和查询浏览器的 cookies
  • downloads :启动和管理下载的能力
  • menus :创建上下文菜单项
  • notifications :显示桌面通知的功能
  • storage :存储扩展的私人设置
  • tabs :控制和监控浏览器的标签,包括创建、关闭等
  • windows :控制和监控浏览器窗口

在目前暂未实现的 API 中有一个需要开发者注意的那就是 webRequest API,它通常被 uBlock Origin 等屏蔽扩展使用。开发者承诺将在未来的某个时候实现这个 API,但是需要 WebKitGTK 进行一些改进。

GNOME 的下一个版本也将带回对独立的 PWA(渐进式 Web 应用程序)的支持,它们可以像普通程序一样被安装和删除,在用户环境中运行 Web 应用将由 GNOME Web 浏览器处理,同样也计划与为 Chrome 创建的 PWA 应用程序兼容。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK