Chrome 扩展程序发生了什么情况?

早在 7 月,我们就推出了一系列新博文,以便您及时了解扩展程序的最新动态。感谢您提供宝贵的反馈,以及我们与 WebExtensions 社区群组中的其他浏览器供应商的持续合作,我们将继续改进扩展程序 API,并努力提高各浏览器之间的一致性。

欢迎阅读 10 月版通讯!在本文中,我们将介绍 Chrome 扩展程序团队在过去几个月内做出的一些变更,以及今年晚些时候推出的一些新功能。让我们开始吧!

新的扩展程序 API 和功能

在本部分中,我们将分享一些重要的 API 发布、简要介绍其他 API 改进,以及分享即将发布的版本。所有启动功能目前都已在最新的 Beta 版中推出。如需了解详情,请参阅 Chromium 发布时间表

亮点

已解决的已知问题

扩展程序团队一直在积极解决 Manifest V3 稳定性问题。Chrome 116 推出了许多改进,这有助于我们在缩小 Manifest V2 和 V3 之间的功能差距方面取得显著进展。在 Chrome 120 中,我们将完成所有优先平台差距的解决,并修复已知问题页面上记录的所有严重 bug。目前,Chrome 120 Canary 中提供的所有功能均适用于 ChromeOS Lacros,但 fileHandler 支持除外,userScripts API 将于本月晚些时候发布。如需了解详情,请查看更新后的已知问题页面

提高了 Service Worker 的稳定性

已解决与服务工件相关的稳定性问题。在 Chrome 116 中,我们向扩展程序 API 添加了强效的保活机制,以显示用户提示,并改进了对 WebSocket 的支持(请参阅在扩展程序中使用 WebSocket 教程)。从 Chrome 118 开始,服务工件将在有效的 Debugger API 会话期间保持活跃状态。

如需了解详情,请参阅更新后的服务工指南。如果您的用户在 Chrome 119 之后的版本中仍然遇到与服务工件相关的稳定性问题,请告诉我们

增强安全性

以前,使用 tabs.update()tabs.createwindows.create() 导航到某些 chrome:// 网址会发出错误或导致 Chrome 崩溃。此外,tabs.update() 无法打开 JavaScript 网址。在 Chrome 117 中,我们扩大了支持的 chrome:// 网址数量,并且 JavaScript 网址屏蔽功能现在也适用于所有扩展程序 API 方法。

在 Chrome 117 中,如果用户安装的扩展程序在 Chrome 应用商店中不再可用,他们会在 Chrome 扩展程序页面上收到主动通知。如果开发者下架了扩展程序,扩展程序因违反政策而被移除,或者扩展程序被识别为恶意软件,就可能会出现这种情况。如需深入了解,请参阅将安全确认功能引入 chrome://extensions 页面

在 Chrome 118 中,除非在扩展程序的详情页面上启用“允许访问文件网址”选项,否则扩展程序将无法使用 chrome.tabschrome.windows API 导航到 file:// 网址。请参阅 WECG 讨论

推出更多 API

  • Runtime API:从 Chrome 116 开始,您可以使用 runtime.getContexts() 检索有关活动上下文的信息。例如,您可以检查是否存在活跃的屏幕外文档
  • 侧边栏 API。在 Chrome 116 中,您可以使用 sidepanel.open() 以编程方式打开扩展程序侧边栏,以响应用户手势(例如点击上下文菜单)。
  • TabCapture API 在 Chrome 116 中添加了从扩展程序服务工作器调用 getMediaStreamId() 并从屏幕外文档中的串流 ID 获取 MediaStream 对象的功能。如需查看示例,请参阅录音和屏幕截图
  • DeclarativeNetRequest API:在 Chrome 118 中,isUrlFilterCaseSensitive 属性的默认值已更改为 false

即将推出…

我们计划在 Chrome 120 发布后解决“已知问题”页面上所有剩余问题。此外,我们还计划添加以下功能:

  • 借助 UserScripts API,用户脚本管理器可以协调如何以及何时将一组用户脚本注入网页。如需了解详情,请参阅 WECG 提案
  • 借助 ReadingList API,开发者可以创建、读取、更新和删除侧边栏的“阅读列表”面板中显示的元数据。如需了解相关公告,请观看 Chrome 扩展程序的新变化
  • 根据 Web Extensions 社区群组的反馈,我们将已启用的静态规则集的数量上限从 10 提高到了 50。此外,我们还将允许的静态规则集总数从 50 个增加到 100 个。此功能目前在 Canary 版中提供。
  • 从 ChromeOS 120 开始,ChromeOS 扩展程序将支持 File Handling API,这让扩展程序可以以与 Web 平台文件处理类似的方式打开具有指定 MIME 类型和文件扩展名的文件。
  • 通过将 userVisibleOnly 设置为 false,扩展程序将能够通过 self.registration.pushManager.subscribe() 使用 Web Push API,而不会向用户显示可见通知。这将使推送通知成为 Service Worker (MV3) 中用于异步客户端-服务器通信的 WebSocket 的更顺畅替代方案。如需了解详情,请参阅 Chromium bugWECG 讨论

请关注扩展程序新功能页面,一旦这些功能在 Chrome Beta 版中推出,我们会立即发布相关公告。

文档升级

我们还在不断改进和完善文档。请继续在 chromium-group 上提问,并报告文档问题

亮点

更多动态

即将推出…

  • User Scripts API 参考文档和教程。
  • Firebase 教程和示例。
  • ReadingList API 参考文档。

重新设计 Chrome 应用商店 🌈?

Chrome 应用商店首页的屏幕截图。
新版 Chrome 应用商店首页

正如我们在 Google I/O 大会上暗示的那样,本月初,我们宣布了经过改版的 Chrome 应用商店的抢先预览版。快来试用吧!https://chromewebstore.google.com/。以下是一些值得注意的变更:

  • 将类别列表从 11 个增加到7 个分为 3 个类别组的新列表。
  • 改进了搜索中的自动补全功能。
  • 屏幕截图的显示质量现在明显更高。如果您尚未上传 1280x800 的屏幕截图,可以上传。
  • “支持”标签页中对问题的回复现在会显示换行符。
  • 现在,在回复用户评价和支持问题时,您的回复会在您的名字旁边显示“开发者”徽章。
  • 您可以在商品网址的末尾添加“/reviews”,为用户提供指向评价页面的直接链接。例如:https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews

感谢大家迄今为止在 chromium-google 群组中提供的反馈。欢迎随时加入讨论,或使用提供反馈菜单项直接向 CWS 团队发送反馈:

在 Chrome 应用商店页面中提供反馈
在 Chrome 应用商店页面上提供反馈

此外,您还可以提交自荐表单,以便在“编辑精选”合集中展示。开发者信息中心即将推出更多改进,敬请期待!

💡? 您知道吗?

  • 我们推出了有关调试 Chrome 扩展程序的新视频。其中涵盖了许多您可能已经熟悉的主题,但也分享了一些在扩展程序中使用 DevTools 的实用技巧。
  • 现在,您必须为每个扩展程序提供隐私权政策。以前,每个开发者账号只能添加一份隐私权政策,但如果一个开发者账号下有多个扩展程序,这种做法会很不方便。您可以在开发者信息中心内相应内容的隐私权标签页中找到此新界面。这意味着,我们不再支持账号级隐私权政策。
    隐私权政策框的屏幕截图
    隐私权政策框的屏幕截图

与您联系 🙌?

我们一直在通过一对一交流、推出新计划和参加峰会等方式,与扩展程序开发者社区保持联系。下面是一些亮点:

  • 扩展程序 Google 开发者专家计划已于 8 月推出。我们有十多位专门负责 Chrome 扩展程序的全新 GDE,他们来自世界各地,为我们提供了宝贵的反馈。该计划正处于蓬勃发展的阶段!
  • 我们作为 Web Extensions Community Group 的成员参加了 TPAC(W3C 年度大会),并与 Firefox 和 Safari 的代表以及社区的多位成员进行了会面。我们在多个主题上取得了重大进展,包括朝着更一致的扩展程序 API 迈进、制定规范,以及在 Web 平台测试的基础上创建新的测试套件。如需阅读完整的会议记录,请访问 WECG 代码库
  • 上周,扩展程序团队参加了在阿姆斯特丹举行的广告过滤开发者峰会。他们在峰会周之前举办的咖啡聊天活动和周五的开放式办公时间与部分用户会面交流过。
    广告过滤开发者峰会上的扩展程序团队
    广告过滤开发者峰会的扩展程序团队

即使您无法参加上述任何活动,也可以通过以下方式继续参与:在 chromium-extensions Google 群组上提问、关注 WECG 上的浏览器合作伙伴讨论,以及报告任何文档问题。

再次感谢您加入扩展程序开发者社区!