早在 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.create
和 windows.create()
导航到某些 chrome://
网址会发出错误或导致 Chrome 崩溃。此外,tabs.update()
无法打开 JavaScript 网址。在 Chrome 117 中,我们扩大了支持的 chrome://
网址数量,并且 JavaScript 网址屏蔽功能现在也适用于所有扩展程序 API 方法。
在 Chrome 117 中,如果用户安装的扩展程序在 Chrome 应用商店中不再可用,他们会在 Chrome 扩展程序页面上收到主动通知。如果开发者下架了扩展程序,扩展程序因违反政策而被移除,或者扩展程序被识别为恶意软件,就可能会出现这种情况。如需深入了解,请参阅将安全确认功能引入 chrome://extensions 页面。
在 Chrome 118 中,除非在扩展程序的详情页面上启用“允许访问文件网址”选项,否则扩展程序将无法使用 chrome.tabs
和 chrome.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 bug 和 WECG 讨论。
请关注扩展程序新功能页面,一旦这些功能在 Chrome Beta 版中推出,我们会立即发布相关公告。
文档升级
我们还在不断改进和完善文档。请继续在 chromium-group 上提问,并报告文档问题。
亮点
- 我们对选段着陆页进行了改版。现在,您可以按 API、权限和类型进行过滤,更轻松地找到特定示例。这项增强功能是我们与 Google 夏季编程活动实习生 Xuezhou Dai 共同完成的。如需了解他的体验,请参阅这篇博文。
- 将 Google Analytics 账号与 Chrome 应用商店搭配使用介绍了如何查看 Chrome 应用商店商品详情的 Google Analytics 4 数据,以补充开发者信息中心提供的数据。本指南介绍了启用 Google Analytics、监控广告效果、跟踪转化以及向其他账号授予 Google Analytics 数据访问权限的步骤。
- 我们发布了一份新指南,介绍了 Cookie 和 Web Storage API 在 Chrome 扩展程序中的运作方式。其中包含作为扩展程序开发者,您需要了解的有关 Privacy Sandbox 的所有信息。
- 我们发布了有关如何在扩展程序项目中集成测试的新文章:对 Chrome 扩展程序进行单元测试和对扩展程序进行端到端测试,其中介绍了针对多种热门框架的一般指南和最佳实践。如需查看实用教程,请参阅使用 Puppeteer 测试 Chrome 扩展程序。
更多动态
- 我们重写了 Declarative Net Request API 指南,以便更清晰地说明如何实现声明式规则集。
- 我们添加了有关将远程托管代码迁移到 Manifest V3 的更多指南。此外,为最大限度地降低发布过程中遇到问题的风险,我们提供了分阶段发布 Manifest V3 扩展程序的策略。
- 了解如何在扩展程序的服务工程中连接到 WebSocket。
- 我们扩充了获取帮助指南,在其中添加了有关如何提交 bug、跟踪现有问题、申请新功能等更详细的说明。
即将推出…
- User Scripts API 参考文档和教程。
- Firebase 教程和示例。
- ReadingList API 参考文档。
重新设计 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 扩展程序的新视频。其中涵盖了许多您可能已经熟悉的主题,但也分享了一些在扩展程序中使用 DevTools 的实用技巧。
- 现在,您必须为每个扩展程序提供隐私权政策。以前,每个开发者账号只能添加一份隐私权政策,但如果一个开发者账号下有多个扩展程序,这种做法会很不方便。您可以在开发者信息中心内相应内容的隐私权标签页中找到此新界面。这意味着,我们不再支持账号级隐私权政策。
与您联系 🙌?
我们一直在通过一对一交流、推出新计划和参加峰会等方式,与扩展程序开发者社区保持联系。下面是一些亮点:
- 扩展程序 Google 开发者专家计划已于 8 月推出。我们有十多位专门负责 Chrome 扩展程序的全新 GDE,他们来自世界各地,为我们提供了宝贵的反馈。该计划正处于蓬勃发展的阶段!
- 我们作为 Web Extensions Community Group 的成员参加了 TPAC(W3C 年度大会),并与 Firefox 和 Safari 的代表以及社区的多位成员进行了会面。我们在多个主题上取得了重大进展,包括朝着更一致的扩展程序 API 迈进、制定规范,以及在 Web 平台测试的基础上创建新的测试套件。如需阅读完整的会议记录,请访问 WECG 代码库。
- 上周,扩展程序团队参加了在阿姆斯特丹举行的广告过滤开发者峰会。他们在峰会周之前举办的咖啡聊天活动和周五的开放式办公时间与部分用户会面交流过。
即使您无法参加上述任何活动,也可以通过以下方式继续参与:在 chromium-extensions Google 群组上提问、关注 WECG 上的浏览器合作伙伴讨论,以及报告任何文档问题。
再次感谢您加入扩展程序开发者社区!