Microsoft Edge 扩展支持的 API

Microsoft Edge 扩展将 JavaScript 方法的子集用于 Chromium 浏览器引擎平台。 为 Microsoft Edge 浏览器生成扩展时,可以使用以下 API。

API 说明 清单版本
accessibilityFeatures 管理浏览器的辅助功能。 MV2、MV3
action 控制浏览器工具栏中的扩展图标。 MV3
alarms 计划定期运行代码或在将来的指定时间运行代码。 MV2、MV3
bookmarks 创建、组织和操作书签。 MV2、MV3
browserAction 使用浏览器操作将图标放置在 Microsoft Edge 中的工具栏上。 还可以使用浏览器操作来添加工具提示、徽章或弹出窗口。 MV2
browsingData 从用户的本地配置文件中移除浏览数据。 MV2、MV3
commands 添加可触发扩展中的操作的键盘快捷方式,例如打开浏览器或向扩展发送命令的操作。 MV2、MV3
contentSettings 自定义 Microsoft Edge 在每个网站上的行为,而不是全局行为。 更改用于控制网站是否可以使用 Cookie、JavaScript 和插件等功能的设置。 MV2、MV3
contextMenus 向 Microsoft Edge 的上下文菜单(右键单击菜单)中添加项。 菜单项可以应用于不同的对象,例如图像、超链接和页面。 MV2、MV3
cookies 查询和修改 Cookie,并在 Cookie 更改时收到通知。 MV2、MV3
debugger 附加到一个或多个选项卡,以检测网络交互、调试 JavaScript、更改 DOM、更改 CSS 等。 使用调试对象的 tabId 将带有 sendCommand 的选项卡作为目标,并通过 tabIdonEvent 回调中路由事件。 MV2、MV3
declarativeContent 根据页面内容执行操作,无需读取页面内容的权限。 MV2、MV3
declarativeNetRequest 通过指定声明性规则来阻止或修改网络请求,从而提供更多隐私保护。 允许扩展修改网络请求,而无需拦截请求和查看内容。 MV2、MV3
desktopCapture 捕获屏幕、单个窗口或选项卡的内容。 MV2、MV3
devtools.inspectedWindow 与已检查的窗口交互。 例如,获取页面的选项卡 ID、评估代码、刷新页面或获取页面上的资源。 MV2、MV3
devtools.network 检索 DevTools“网络”工具显示的网络请求的相关信息。 MV2、MV3
devtools.panels 通过创建自己的面板、访问现有面板或添加边栏,将扩展集成到“开发人员工具”窗口 UI 中。 MV2、MV3
dns 解析 DNS 地址。 MV2、MV3。 开发人员频道。
dom 访问扩展的特殊 DOM API。 MV2、MV3
downloads 以编程方式启动、监视、操作和搜索下载。 MV2、MV3
enterprise.hardwarePlatform 获取运行浏览器的硬件平台制造商和型号。 适用于通过企业策略安装的扩展。 MV2、MV3
events API 使用的常用类型,在发生相关事件时引发事件以向你发出通知。 MV2、MV3
extension 可由任何扩展页使用的实用工具。 包括支持在扩展与其内容脚本之间或在扩展之间交换消息。 MV2、MV3
extensionTypes Microsoft Edge 扩展的类型声明。 MV2、MV3
fontSettings 管理 Microsoft Edge 中的字体设置。 MV2、MV3
history 与浏览器的访问页面记录交互。 可以在浏览器历史记录中添加、移除或查询 URL。 要使用自己的版本替代历史记录页,请导航到“替代页面”。 MV2、MV3
i18n 在整个应用或扩展中实现国际化。 MV2、MV3
identity 获取 OAuth2 访问令牌。 不支持:identity.getAccountsidentity.getAuthToken - 作为替代方法,可以使用 identity.launchWebAuthFlow 提取 OAuth2 令牌来对用户进行身份验证。 MV2、MV3
idle 检测计算机的空闲状态更改时间。 MV2、MV3
input.ime 为 OS 实现自定义 IME,允许扩展处理击键、设置组合和管理候选窗口。 MV2、MV3
management 管理已安装或正在运行的扩展列表。 可以替代内置的“新建选项卡”页。 MV2、MV3
notifications 使用模板创建丰富的通知,并将其显示在系统托盘中。 MV2、MV3
offscreen 创建和管理屏幕外文档。 MV3
omnibox 在 Microsoft Edge 地址栏(也称为 Omnibox)中注册关键字。 MV2、MV3
pageAction 将图标添加到地址栏右侧的 Microsoft Edge 工具栏。 页面操作是可在当前页面上执行的操作,并非适用于所有页面。 页面操作在处于非活动状态时灰显。 MV2
pageCapture 将选项卡另存为 MHTML 文件。 MV2、MV3
权限 在运行时而不是安装时检索声明的可选权限。 可以使用此 API 向用户显示所需权限和已批准的权限。 MV2、MV3
power 替代系统的电源管理功能。 MV2、MV3
printerProvider 使用事件来查询打印机及其功能,并提交打印作业。 MV2、MV3
privacy 控制 Microsoft Edge 中影响用户隐私的功能。 此 API 依赖于 typesEdgeSetting 原型来获取和设置 Microsoft Edge 的配置。 MV2、MV3
processes 与浏览器的进程交互。 MV2、MV3。 开发人员频道。
proxy 管理 Microsoft Edge 的代理设置。 此 API 依赖于 types API 的 EdgeSetting 原型来获取和设置 Microsoft Edge 的代理配置。 MV2、MV3
runtime 检索背景,返回有关清单的详细信息,并侦听和响应应用或扩展生命周期中的事件。 还可以将 URL 的相对路径转换为完全限定的 URL。 MV2、MV3
scripting 在不同的上下文中执行脚本。 MV3
search 使用默认提供程序进行搜索。 MV2、MV3
sessions 从浏览会话查询和还原选项卡和窗口。 MV2、MV3
sidePanel 将自定义内容与网页的主要内容一起托管在浏览器的边栏中。 请参阅 开发Microsoft Edge 边栏的扩展 MV3
storage 存储、检索和跟踪对用户数据的更改。 MV2、MV3
system.cpu 查询 CPU 元数据。 MV2、MV3
system.display 查询显示元数据。 MV2、MV3
system.memory 报告可用内存容量和总物理内存容量。 MV2、MV3
system.storage 查询有关存储设备的信息。 还可以在附加或分离存储设备时收到通知。 MV2、MV3
tabCapture 与选项卡媒体流交互。 MV2、MV3
tabGroups 与浏览器的选项卡分组系统交互。 在浏览器中修改和重新排列选项卡组。 要对选项卡进行分组和取消分组,或者要查询组中包含的选项卡,请改用选项卡 API。 MV3
tabs 与浏览器的选项卡系统交互,以创建、修改和重新排列选项卡。 MV2、MV3
topSites 访问新建选项卡页上显示的热门网站,也称为访问次数最多的网站。 这些网站不包括用户自定义的快捷方式。 MV2、MV3
tts 播放合成的文本到语音转换 (TTS)。 MV2、MV3
ttsEngine 使用扩展实现文本到语音转换 (TTS) 引擎。 注册使用此 API 的扩展会收到包含要说出的语句和其他参数的事件。 然后,扩展可以使用任何可用的 Web 技术来合成和输出语音,并将事件发送回调用函数以报告状态。 MV2、MV3
types Microsoft Edge 的类型声明。 MV2、MV3
userScripts 在用户脚本上下文中执行用户脚本。 MV3
webAuthenticationProxy 允许在远程主机上运行的远程桌面软件拦截 Web 身份验证 API (WebAuthn) 请求,以便在本地客户端上处理这些请求。 MV3
webNavigation 接收有关导航请求状态的通知。 MV2、MV3
webRequest 观察和分析流量。 拦截、阻止或修改请求。 MV2、MV3
windows 与浏览器窗口交互,在浏览器中创建、修改和重新排列窗口。 MV2、MV3

不支持的 API

Microsoft Edge 不支持这些扩展 API。

API 注释
音频 仅限 ChromeOS。
certificateProvider 仅限 ChromeOS。
devtools.recorder 仅限 Chrome DevTools。
documentScan 仅限 ChromeOS。
enterprise.deviceAttributes 仅限 ChromeOS。
enterprise.networkingAttributes 仅限 ChromeOS。
enterprise.platformKeys 仅限 ChromeOS。
fileBrowserHandler 仅限 ChromeOS。
fileSystemProvider 仅限 ChromeOS。
gcm
identity.getAccounts
identity.getAuthToken 使用在 manifest.json 的 oauth2 部分中指定的客户端 ID 和作用域获取 OAuth2 访问令牌。 作为替代方法,可以使用 identity.launchWebAuthFlow 提取 OAuth2 令牌来对用户进行身份验证。
instanceID
loginState 仅限 ChromeOS。
platformKeys 仅限 ChromeOS。
printing 仅限 ChromeOS。
printingMetrics 仅限 ChromeOS。
readingList
vpnProvider 仅限 ChromeOS。
wallpaper 仅限 ChromeOS。

有关支持的 API 的其他注意事项

  • 用户必须使用 Microsoft 帐户 (MSA) 或 Microsoft Entra ID 帐户登录 Microsoft Edge 才能使用 chrome.identity.getProfileUserInfo。 如果用户使用本地 Microsoft Entra ID 帐户登录 Microsoft Edge,则 API 返回 null 作为电子邮件和 ID 值。

    Microsoft 帐户 (MSA) 是 Outlook.com、Live.com 或 Hotmail.com 帐户。

  • Microsoft Edge 不支持使用 Chrome Web Store 付款的扩展,因为它使用 identity.getAuthtoken 为已登录用户请求令牌。 这些令牌发送到基于 REST 的许可 API。

注意

此页面的某些部分是根据 Google 创建和共享的作品所做的修改,并根据 Creative Commons Attribution 4.0 International License 中描述的条款使用。 原始页面位于此处

Creative Commons 许可证 本作品根据 Creative Commons Attribution 4.0 International License 获得许可。

另请参阅