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

谨祝扩展程序团队新年快乐!今年年末,无论是放松身心,还是探索了我们在 2023 年 10 月的博文中宣布推出的一些新功能,都希望您一切顺利。此外,我们还想花点时间感谢大家提供的所有反馈,以及对扩展程序社区的大力支持。

我们来深入了解一下 2023 年上一季度推出的功能,并抢先了解 2024 年初推出的一些新功能。

用户脚本 API

从 Chrome 120 开始,Manifest V3 扩展程序可以使用 User Scripts API 管理用户脚本的集合,并确定何时以及如何在网页上注入这些脚本。如需快速入门,请查看 User Scripts API 示例

用户脚本 API 演示的屏幕截图

Reading List API

Reading List API 也是在 Chrome 120 中推出的,可让开发者创建、读取、更新和删除位于阅读清单侧边栏中的元数据。查看 Reading List API 演示

阅读列表 API 演示的屏幕截图

声明式 Net Request API 安全规则

根据您的反馈,我们将启用的静态规则集的上限从 10 大幅提高到了 50。此外,我们还将允许的静态规则集总数从 50 增加到了 100。如需了解更多详情,请参阅改进 Manifest V3 中的内容过滤

其他 API 发布

Cookie API

在 Chrome 119 中,Cookies API 已更新,支持分区。您现在可以指定 partitionKey 属性,指定要对其执行操作的分区。

File Handling API

File Handling API 现已适用于 ChromeOS 120。有了它,扩展程序就可以打开具有指定 MIME 类型和文件扩展名的文件,类似于网络平台文件处理。

Push API

从 Chrome 121 开始,扩展程序可以使用 Push API 从服务器接收消息,而不显示通知。这意味着 WebSocket 不再是服务器到扩展程序通信的唯一方法。值得注意的是,Push API 已经过优化,可以与扩展 Service Worker 无缝协作。这包括在收到消息时激活 Service Worker。试用 Push API 示例

增强了跨浏览器兼容性

我们会继续与其他浏览器供应商合作,以增强跨浏览器的兼容性。为了回应您在 MV3 扩展程序中的清单文件添加 background.scripts、background.page 或 background.persistent 在 WECG 中的反馈,我们将只会触发警告,而不是错误(请参阅问题 1418934)。还添加了 tabs.Tab.lastAccessed 属性,以使扩展程序与 Firefox 更加兼容(请参阅问题 1419613)。

即将推出的功能...

  • WebAuthn API:扩展程序将能够为其具有主机权限的网站声明 RP ID。如需了解相关背景信息,请参阅此电子邮件
  • 除非函数签名与 promise(例如 chrome.desktopCapture.chooseDesktopMedia())不兼容,否则所有异步 Chrome API 方法都支持 promise,以便更易于使用。回调仍可实现向后兼容性。

文档更新

我们去年的一个主要目标是改进 Chrome 扩展程序文档。这包括添加更多的入门指南、方法指南和发布新的 MV3 迁移指南。去年年底,我们又迈出了又一大步:已经开始进行重组,以便更好地满足用户的需求。

下面简要介绍了新变化:

  • 简化了导航方式并改进了结构,方便您轻松访问扩展程序和 Chrome 应用商店文章。
  • 添加了边栏过滤器,以便快速访问主题。例如,在 Reference API 页面上,您可以按“标签页”进行过滤,以查看所有与标签页相关的 API。
按名称过滤 API 引用
按名称过滤 API 引用
  • 为新的扩展程序开发者提供更友好的学习之旅。
使用入门页面
使用入门页面
  • 一键复制代码段。
正在复制代码
复制代码
  • 支持深色模式,以便在弱光环境下提供更好的观看体验。
文档中的深色模式切换开关
文档中的深色模式切换开关
  • 添加了集合,以便您快速找到常用的参考页面。
已展开集合下拉菜单
已展开集合下拉菜单

这是改进文档的第一步。我们计划添加新的参考内容、概念性文章和教程,并更新过时的内容。请告诉我们您的想法,以便我们继续改进。

即将推出的指南

  • User Scripts API 教程。
  • 新增了“实时更新”指南,探索了处理服务器端事件通知的不同方式。
  • 操作方法部分新增了几项内容。

新视频:与 Simeon 一起探索平台演变

Web Extensions 社区小组 (WECG) 联合主席 Simeon Vincent 与我们的 DevRel 团队一起与我们一起探讨了 Web 扩展的复杂性和未来发展。

这次谈话的重点:

  • 实现跨浏览器的标准化扩展程序行为。
  • 解决过渡到 Manifest V3 的开发难题。
  • 扩展程序如何将 AI 集成到扩展程序中。

更多动态

  • 了解如何在扩展程序中使用 WebHID API,以连接到标准设备(例如键盘)以及游戏手套或眼动追踪设备等独特设备。
  • 了解如何在扩展程序中使用 WebUSB API 来连接到 USB 设备,例如闪存驱动器、条形码扫描器、机器人控制器和 USB 显微镜。
  • 将您的扩展程序迁移到 Manifest 版本 3 后,您的扩展程序将无法使用来自外部服务器的 JavaScript 代码。请参阅远程托管的代码指南,其中提供了远程代码替代方案指南,可避免您的扩展程序在 Chrome 应用商店中因 Blue Argon 而被拒。

再次感谢您对扩展程序开发者社区的贡献。2024 年,您的见解和反馈将对塑造和增强扩展程序生态系统起到至关重要的作用。我们期待在你的支持下再接再厉。