扩展程序团队祝您新年快乐!不管您是放松身心,还是探索了我们在 2023 年 10 月的博文中宣布推出的一些新功能,都希望您度过了一个精彩的年终。我们还想借此机会感谢您提供反馈以及成为扩展程序社区的一员。
我们来深入了解一下 2023 年第四季度推出的功能,并抢先了解 2024 年初的一些新功能。
用户脚本 API
从 Chrome 120 开始,Manifest V3 扩展程序可以使用 User Scripts API 管理用户脚本的收集,并确定何时以及如何将此类脚本注入网页。如需快速上手,请查看 User Scripts API 示例。
Reading List API
Reading List API 也是 Chrome 120 中推出的 API,可让开发者创建、读取、更新和删除位于“阅读列表”侧边栏中的元数据。请查看 Reading List 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 示例。
增强了跨浏览器兼容性
我们会继续与其他浏览器供应商合作,以提高跨浏览器的兼容性。自 Chrome 121 起,为响应您在 WECG 中的反馈,如果您在 MV3 扩展程序中将 background.scripts、background.page 或 background.persistent 添加到清单后,此操作只会触发警告而不是错误(请参阅问题 1418934)。还添加了 tabs.Tab.lastAccessed 属性,以使扩展程序与 Firefox 更兼容(请参阅问题 1419613)。
即将推出的功能...
- WebAuthn API:扩展程序将能够为具有托管权限的网站声明 RP ID。如需了解背景信息,请参阅此电子邮件。
- 为了更便于使用,所有异步 Chrome API 方法都将支持 promise,除非函数签名与 promise(例如
chrome.desktopCapture.chooseDesktopMedia()
)不兼容。为确保向后兼容性,回调将仍然有效。
文档更新
我们去年的主要目标是改善 Chrome 扩展程序文档。这包括添加更多的入门指南、方法指南,以及发布新的 MV3 迁移指南。去年年底,我们又迈出了重要的一步:为了更好地满足用户的需求,我们开始进行重新整理。
下面简要介绍了新变化:
- 简化了导航方式并改进了结构,以便您轻松访问扩展程序和 Chrome 应用商店中的文章。
- 添加了边栏过滤器,以便快速访问主题。例如,在 Reference API 页面上,您可以按“标签页”进行过滤,以查看所有与标签页相关的 API。
- 为新扩展程序开发者打造更友好的学习之旅。
- 一键复制代码段。
- 支持深色模式,以便在弱光环境下提供更出色的观看体验。
- 添加了集合,便于您快速查找常用参考页面。
这是改进文档的第一步。我们计划添加新的参考内容、概念性文章和教程,并更新过时的内容。请与我们分享您的想法,以便我们继续改进。
即将发布的指南
- User Scripts API 教程。
- 新的实时更新指南,探索了处理来自服务器端事件的通知的不同方法。
- 操作方法部分新增了内容。
新视频:与 Simeon 一起探索平台发展历程
Web Extensions 社区小组 (WECG) 的联合主席 Simeon Vincent 与我们的 DevRel 团队坐在一起,共同讨论 Web 扩展的复杂性和未来。
对话的重点是:
- 对各种浏览器的扩展程序行为进行标准化。
- 解决过渡到 Manifest V3 的开发难题。
- 扩展程序如何将 AI 集成到扩展程序中。
更多动态
- 了解如何在扩展程序中使用 WebHID API,以连接到标准设备(例如键盘)以及独特的设备(例如游戏手套或眼动设备)。
- 了解如何在扩展程序中使用 WebUSB API 连接到闪存驱动器、条形码扫描器、机器人控制器和 USB 显微镜等 USB 设备。
- 将您的扩展程序迁移到 Manifest Version 3 后,系统将无法使用来自外部服务器的 JavaScript 代码。请查看远程托管代码指南,其中提供了有关远程代码替代方法的指南,以防止您的扩展程序在 Chrome 应用商店中拒绝 Blue Argon 请求。
再次感谢您对扩展程序开发者社区的贡献。2024 年,您的见解和反馈对于塑造和增强扩展程序生态系统至关重要。我们期待您在支持下再接再厉。