Skip to content

Chrome API 概览 ​

插件 API 有着丰富的功能,开发插件的时候,基本上都需要用到插件 API

一、插件 API 功能 ​

插件 API 一般包含一个命名空间,用于执行插件工作的方法和属性,一般是 manifest.json 文件中的字段,许多 API 需要在文件中指定权限(permissions)

除非另有说明,否则插件 API 中的方法都是异步的,可以使用 promise 进行链式调用,或者用 async await 字段进行方法调用

二、插件 API ​

1. accessibilityFeatures ​

1.1 功能 ​

  • 使用 chrome.accessibilityFeatures API 管理 Chrome 的无障碍功能

1.2 所需权限 ​

  • accessibilityFeatures.modify
    • 如需获取功能状态,插件需要 accessibilityFeatures.read 权限
  • accessibilityFeatures.read
    • 如需修改功能状态,插件需要 accessibilityFeatures.modify 权限
json
{
  "name": "My extension",
  "permissions": [
    "accessibilityFeatures.modify",
    "accessibilityFeatures.read"
  ],
}

1.3 属性 ​

  • animationPolicy: 枚举 动画策略
    • allowed
    • once
    • none
  • autoclick: boolean 鼠标停止移动后自动点击鼠标功能是否已启用
  • caretHighlight: boolean 插入符突出显示功能是否已启用
  • cursorColor: boolean 光标颜色功能是否已启用,不表示颜色
  • cursorHighlight: boolean 光标突出显示功能是否已启用
  • dictation: boolean 语音功能是否启用
  • dockedMagnifier: boolean 是否启用放大镜功能
  • focusHighlight: boolean 焦点突出功能是否启用
  • highContrast: boolean 高度对比渲染模式是否已启用
  • largeCursor: boolean 放大光标功能是否启用
  • screenMagnifier: boolean 全屏方法功能是否启用
  • selectToSpeak: boolean 选择朗读功能是否启用
  • spokenFeedback: boolean 语音反馈功能是否启用
  • stickyKeys: boolean 固定辅助键功能是否启用
  • switchAccess: boolean 开关控制功能是否启用
  • virtualKeyboard: boolean 虚拟屏幕键盘功能是否启用

2. action ​

2.1 功能 ​

  • 使用 chrome.action API 可控制插件在 Google Chrome 工具栏中的图标

2.2 所需权限 ​

  • action
json
{
  "name": "My extension",
  "permissions": [
    "action"
  ],
}

2.3 Demo ​

js
// 设置颜色
chrome.action.setBadgeBackgroundColor(
  {color: [0, 255, 0, 0]},
  () => { /* ... */ },
)
// 设置标记文字
chrome.action.setBadgeText()
// 点击监听
chrome.action.onClicked.addListener()

3. alarms ​

3.1 功能 ​

  • 使用 chrome.alarms API 安排代码定期运行,或安排在未来指定时间运行
  • 从 Chrome 117 开始,有效闹钟数量上限为 500 个。达到此上限后,chrome.alarms.create() 将失败
  • 从 Chrome 120 开始,最小闹钟间隔已从 1 分钟缩短为 30 秒。如需让闹钟在 30 秒后触发,请设置 periodInMinutes: 0.5

3.2 所需权限 ​

  • alarms
json
{
  "name": "My extension",
  "permissions": [
    "alarms"
  ],
}

3.3 Demo ​

js
// 创建闹钟
chrome.alarms.create('demo-default-alarm', {
  delayInMinutes: 1,
  periodInMinutes: 1
});

4. audio ​

4.1 功能 ​

  • chrome.audio API 是为了让用户能够了解和控制连接到系统的音频设备。此 API 目前仅适用于 ChromeOS 的自助服务终端模式

4.2 所需权限 ​

  • audio
json
{
  "name": "My extension",
  "permissions": [
    "audio"
  ],
}

4.3 Demo ​

js
// 获取音频设备列表
chrome.audio.getDevices()
// 监听音频设备变化
chrome.audio.onDeviceListChanged.addListener()

5. bookmarks ​

5.1 功能 ​

  • 使用 chrome.bookmarks API 创建、整理书签以及以其他方式操纵书签

5.2 所需权限 ​

  • bookmarks
json
{
  "name": "My extension",
  "permissions": [
    "bookmarks"
  ],
}

5.3 Demo ​

js
// 创建书签/文件夹
chrome.bookmarks.create()

6. browsingData ​

6.1 功能 ​

  • 使用 chrome.browsingData API 从用户的本地个人资料中移除浏览数据

6.2 所需权限 ​

  • browsingData
json
{
  "name": "My extension",
  "permissions": [
    "browsingData"
  ],
}

6.2 Demo ​

js
// 移除各类浏览记录
chrome.browsingData.remove()

7. certificateProvider ​

7.1 功能 ​

  • 使用此 API 向平台公开证书,平台可以使用这些证书进行 TLS 身份验证

7.2 所需权限 ​

  • certificateProvider
json
{
  "name": "My extension",
  "permissions": [
    "certificateProvider"
  ],
}

7.3 Demo ​

js
// 设置要在浏览器中使用的证书列表
chrome.certificateProvider.setCertificates()

8. commands ​

8.1 功能 ​

  • 使用 Command API 添加可在插件中触发操作的键盘快捷键

8.2 所需权限 ​

  • commands
json
{
  "name": "My extension",
  "permissions": [
    "commands"
  ],
}

8.3 Demo ​

js
// 快捷键键盘监听
chrome.commands.onCommand.addListener()

9. contentSettings ​

9.1 功能 ​

  • chrome.contentSettings API 可用于更改相关设置,以控制网站是否可以使用 Cookie、JavaScript 和插件等功能

9.2 所需权限 ​

  • contentSettings
json
{
  "name": "My extension",
  "permissions": [
    "contentSettings"
  ],
}

10. contextMenus ​

10.1 功能 ​

  • 使用 chrome.contextMenus API 向 Google Chrome 的上下文菜单添加项。可以选择要在上下文菜单中添加的对象的类型,例如图片、超链接和页面

10.2 所需权限 ​

  • contextMenus
json
{
  "name": "My extension",
  "permissions": [
    "contextMenus"
  ],
}

10.3 属性 ​

  • ACTION_MENU_TOP_LEVEL_LIMIT: 6
    • 可以添加到插件操作上下文菜单的数量上限

10.4 Demo ​

js
// 创建菜单
chrome.contextMenus.create()

11.1 功能 ​

  • 使用 chrome.cookies API 查询和修改 Cookie,并在发生变化时收到通知

11.2 所需权限 ​

  • cookies
json
{
  "name": "My extension",
  "permissions": [
    "cookies"
  ],
}

11.3 Demo ​

js
// 获取单个 cookie
chrome.cookies.get()
// 获取所有 cookie
chrome.cookies.getAll()

12. debugger ​

12.1 功能 ​

  • chrome.debugger API 可作为 Chrome 远程调试协议的替代传输协议
  • 使用 chrome.debugger 附加到一个或多个标签页,以对网络交互进行插桩、调试 JavaScript、改变 DOM 和 CSS 等
  • 使用 Debuggee tabId 可通过 sendCommand 定位标签页,并通过 tabId 从 onEvent 回调中路由事件

12.2 所需权限 ​

  • debugger
json
{
  "name": "My extension",
  "permissions": [
    "debugger"
  ],
}

12.3 Demo ​

js
// 将调试程序连接到给定目标
chrome.debugger.attach()

13. declarativeContent ​

13.1 功能 ​

  • 使用 chrome.declarativeContent API 可根据网页内容执行操作,而无需读取网页内容的权限

13.2 所需权限 ​

  • declarativeContent
json
{
  "name": "My extension",
  "permissions": [
    "declarativeContent"
  ],
}

13.3 Demo ​

js
// 页面改变
chrome.declarativeContent.onPageChanged

14. declarativeNetRequest ​

14.1 功能 ​

  • chrome.declarativeNetRequest API 用于通过指定声明性规则来屏蔽或修改网络请求

14.2 所需权限 ​

  • declarativeNetRequest
    • 在安装时触发权限警告,但提供对 allow、allowAllRequests 和 block 规则的隐式访问
  • declarativeNetRequestWithHostAccess
    • 在安装时不会显示权限警告,但必须先请求主机权限,然后才能对主机执行任何操作
  • declarativeNetRequestFeedback
    • 为已解压的插件启用调试功能
  • declarativeNetRequest 和 declarativeNetRequestWithHostAccess 权限提供相同的功能。它们之间的区别在于请求或授予权限的时间
json
{
  "name": "My extension",
  "permissions": [
    "declarativeNetRequest",
    "declarativeNetRequestFeedback"
  ],
}

15. desktopCapture ​

15.1 功能 ​

  • Desktop Capture API 可捕获屏幕、单个窗口或单个标签页的内容

15.2 所需权限 ​

  • desktopCapture
json
{
  "name": "My extension",
  "permissions": [
    "desktopCapture"
  ],
}

15.3 Demo ​

js
// 隐藏对话框
chrome.desktopCapture.cancelChooseDesktopMedia()

16. devtools.inspectedWindow ​

16.1 功能 ​

  • 使用 chrome.devtools.inspectedWindow API 与检查的窗口进行交互:获取所检查页面的标签页 ID、在所检查窗口的上下文中评估代码、重新加载页面,或获取页面中的资源列表

16.2 所需字段 ​

需要在 manifest.json 中声明 devtools_page 才能使用此 API

json
{
  "name": "My extension",
  "devtools_page": "devtools.html",
}

16.3 Demo ​

js
// 在新资源添加到检查的网页时触发
chrome.devtools.inspectedWindow.onResourceAdded.addListener()

17. devtools.network ​

17.1 功能 ​

  • 使用 chrome.devtools.network API 检索开发者工具在“Network”面板中显示的网络请求的相关信息

17.2 所需字段 ​

需要在 manifest.json 中声明 devtools_page 才能使用此 API

json
{
  "name": "My extension",
  "devtools_page": "devtools.html",
}

17.3 Demo ​

js
// 在网络请求完成且所有请求数据均可用时触发
chrome.devtools.network.onRequestFinished.addListener()

18. devtools.panels ​

18.1 功能 ​

  • 使用 chrome.devtools.panels API 将插件集成到开发者工具窗口界面中:可以创建自己的面板、访问现有面板以及添加边栏

18.2 所需字段 ​

需要在 manifest.json 中声明 devtools_page 才能使用此 API

json
{
  "name": "My extension",
  "devtools_page": "devtools.html",
}

18.3 Demo ​

js
// 创建程序面板
chrome.devtools.panels.create()

19. devtools.recorder ​

19.1 功能 ​

  • 使用 chrome.devtools.recorder API 自定义开发者工具中的 Recorder 面板

19.2 所需字段 ​

需要在 manifest.json 中声明 devtools_page 才能使用此 API

json
{
  "name": "My extension",
  "devtools_page": "devtools.html",
}

19.3 Demo ​

js
// 创建可以处理重放的视图
chrome.devtools.recorder.createView()

20. dns ​

20.1 功能 ​

  • 使用此 API 向平台公开证书,平台可以使用这些证书进行 TLS 身份验证使用 chrome.dns API 进行 DNS 解析

20.2 所需权限 ​

  • dns
json
{
  "name": "My extension",
  "permissions": [
    "dns"
  ],
}

20.3 Demo ​

js
// 解析给定的主机名
chrome.dns.resolve()

21. documentScan ​

21.1 功能 ​

  • 使用 chrome.documentScan API 从连接的纸质文件扫描器中发现和检索图片

21.2 所需权限 ​

  • documentScan
json
{
  "name": "My extension",
  "permissions": [
    "documentScan"
  ],
}

21.3 Demo ​

js
// 执行文档扫描
chrome.documentScan.scan()

22. dom ​

22.1 功能 ​

  • 使用 chrome.dom API 访问插件的特殊 DOM API

22.2 Demo ​

js
chrome.dom.openOrClosedShadowRoot()

23. downloads ​

23.1 功能 ​

  • 使用 chrome.downloads API 以编程方式启动、监控、操纵和搜索下载内容

23.2 所需权限 ​

  • downloads
json
{
  "name": "My extension",
  "permissions": [
    "downloads"
  ],
}

23.3 Demo ​

js
chrome.downloads.onChanged.addListener()

24. enterprise.deviceAttributes ​

24.1 功能 ​

  • 使用 chrome.enterprise.deviceAttributes API 读取设备属性

24.2 所需权限 ​

  • enterprise.deviceAttributes
json
{
  "name": "My extension",
  "permissions": [
    "enterprise.deviceAttributes"
  ],
}

24.3 Demo ​

js
chrome.enterprise.deviceAttributes.getDeviceHostname()

25. enterprise.hardwarePlatform ​

25.1 功能 ​

  • 使用 chrome.enterprise.hardwarePlatform API 获取运行浏览器的硬件平台的制造商和型号

25.2 所需权限 ​

  • enterprise.hardwarePlatform
json
{
  "name": "My extension",
  "permissions": [
    "enterprise.hardwarePlatform"
  ],
}

25.3 Demo ​

js
chrome.enterprise.hardwarePlatform.getHardwarePlatformInfo

26. enterprise.networkingAttributes ​

26.1 功能 ​

  • 使用 chrome.enterprise.networkingAttributes API 读取有关当前网络的信息

26.2 所需权限 ​

  • enterprise.networkingAttributes
json
{
  "name": "My extension",
  "permissions": [
    "enterprise.networkingAttributes"
  ],
}

26.3 Demo ​

js
chrome.enterprise.networkingAttributes.getNetworkDetails()

27. enterprise.platformKeys ​

27.1 功能 ​

  • 用 chrome.enterprise.platformKeys API 生成密钥并为这些密钥安装证书

27.2 所需权限 ​

  • enterprise.platformKeys
json
{
  "name": "My extension",
  "permissions": [
    "enterprise.platformKeys"
  ],
}

27.3 Demo ​

js
chrome.enterprise.platformKeys.challengeKey()

28. events ​

28.1 功能 ​

  • chrome.events 可以在发生事件时进行通知

29. extension ​

29.1 功能 ​

  • chrome.extension API 具有可供任何插件页面使用的实用程序。它还支持在插件与其内容脚本之间或插件之间交换消息

30. extensionTypes ​

30.1 功能 ​

  • chrome.extensionTypes API 包含 Chrome 插件的类型声明

31. fileBrowserHandler ​

31.1 功能 ​

  • 使用 chrome.fileBrowserHandler API 扩展 ChromeOS 文件浏览器

31.2 所需权限 ​

  • fileBrowserHandler
json
{
  "name": "My extension",
  "permissions": [
    "fileBrowserHandler"
  ],
}

31.3 Demo ​

js
chrome.fileBrowserHandler.onExecute.addListener()

32. fileSystemProvider ​

32.1 功能 ​

  • 使用 chrome.fileSystemProvider API 创建可通过 ChromeOS 上的文件管理器访问的文件系统

32.2 所需权限 ​

  • fileSystemProvider
json
{
  "name": "My extension",
  "permissions": [
    "fileSystemProvider"
  ],
}

32.3 Demo ​

js
// 获取插件装载的所有文件系统
chrome.fileSystemProvider.getAll()

33. fontSettings ​

33.1 功能 ​

  • 使用 chrome.fontSettings API 管理 Chrome 的字体设置

33.2 所需权限 ​

  • fontSettings
json
{
  "name": "My extension",
  "permissions": [
    "fontSettings"
  ],
}

33.3 Demo ​

js
// 字体设置变化时触发
chrome.fontSettings.onFontChanged.addListener()

34. gcm ​

34.1 功能 ​

  • 使用 chrome.gcm 可让应用和插件通过 Firebase Cloud Messaging (FCM) 收发消息

34.2 所需权限 ​

  • gcm
json
{
  "name": "My extension",
  "permissions": [
    "gcm"
  ],
}

34.3 属性 ​

  • MAX_MESSAGE_SIZE: 4096
    • 消息中所有键值对的大小

34.4 Demo ​

js
// 发送消息
chrome.gcm.send()
// 接收消息
chrome.gcm.onMessage.addListener

35. history ​

35.1 功能 ​

  • 使用 chrome.history API 与浏览器的访问过网页记录进行交互

35.2 所需权限 ​

  • history
json
{
  "name": "My extension",
  "permissions": [
    "history"
  ],
}

35.3 Demo ​

js
// 添加历史记录
chrome.history.addUrl()

36. i18n ​

36.1 功能 ​

  • 使用 chrome.i18n 基础架构在整个应用或插件中实现国际化

36.2 用法 ​

如果插件具有 /_locales 目录,则 manifest.json 必须定义 default_locale

37. identity ​

37.1 功能 ​

  • 使用 chrome.identity API 获取 OAuth2 访问令牌

37.2 所需权限 ​

  • identity
json
{
  "name": "My extension",
  "permissions": [
    "identity"
  ],
}

37.3 Demo ​

js
// 获取 token 值
chrome.identity.getAuthToken()

38. idle ​

38.1 功能 ​

  • 使用 chrome.idle API 检测机器的空闲状态何时发生变化

38.2 所需权限 ​

  • idle
json
{
  "name": "My extension",
  "permissions": [
    "idle"
  ],
}

38.3 Demo ​

js
chrome.idle.getAutoLockDelay()
chrome.idle.queryState()

39. input.ime ​

39.1 功能 ​

  • 使用 chrome.input.ime API 为 Chrome 操作系统实现自定义 IME

39.2 所需权限 ​

  • input
json
{
  "name": "My extension",
  "permissions": [
    "input"
  ],
}

39.3 Demo ​

js
// 监听焦点离开文本框
chrome.input.ime.onBlur.addListener()

40. instanceID ​

40.1 功能 ​

  • 使用 chrome.instanceID 访问实例 ID 服务

40.2 所需权限 ​

  • gcm
json
{
  "name": "My extension",
  "permissions": [
    "gcm"
  ],
}

40.3 Demo ​

js
chrome.instanceID.deleteID()
chrome.instanceID.getID()

41. loginState ​

41.1 功能 ​

  • 使用 chrome.loginState API 读取和监控登录状态

41.2 所需权限 ​

  • loginState
json
{
  "name": "My extension",
  "permissions": [
    "loginState"
  ],
}

41.3 Demo ​

js
chrome.loginState.getProfileType()
chrome.loginState.getSessionState()

42. management ​

42.1 功能 ​

  • chrome.management API 提供了管理已安装和正在运行的插件/应用列表的方法

42.2 所需权限 ​

  • management
json
{
  "name": "My extension",
  "permissions": [
    "management"
  ],
}

42.3 Demo ​

js
chrome.management.getAll()
chrome.management.get()

43. notifications ​

43.1 功能 ​

  • 借助 chrome.notifications API,可以使用模板创建内容丰富的通知,并在系统任务栏中向用户显示这些通知

43.2 所需权限 ​

  • notifications
json
{
  "name": "My extension",
  "permissions": [
    "notifications"
  ],
}

43.3 Demo ​

js
// 创建消息通知
chrome.notifications.create()

44. offscreen ​

44.1 功能 ​

  • 使用 offscreen API 创建和管理屏幕外文档

44.2 所需权限 ​

  • offscreen
json
{
  "name": "My extension",
  "permissions": [
    "offscreen"
  ],
}

44.3 Demo ​

js
// 创建新的屏幕外文档
chrome.offscreen.createDocument()

45. omnibox ​

45.1 功能 ​

  • 多功能框 API 可在 Google Chrome 的地址栏(也称为多功能框)中注册关键字

45.2 所需字段 ​

需要在 manifest.json 中声明 omnibox 才能使用此 API

json
{
  "name": "My extension",
  "omnibox": { "keyword" : "aaron" }
}

45.3 Demo ​

js
// 监听关键字输入会话
chrome.omnibox.onInputStarted.addListener()

46. pageCapture ​

46.1 功能 ​

  • 使用 chrome.pageCapture API 可将标签页另存为 MHTML

46.2 所需权限 ​

  • pageCapture
json
{
  "name": "My extension",
  "permissions": [
    "pageCapture"
  ],
}

46.3 Demo ​

js
chrome.pageCapture.saveAsMHTML()

47. permissions ​

47.1 功能 ​

  • 请使用 chrome.permissions API 在运行时(而不是安装时)请求声明的可选权限,以便用户了解需要相关权限的原因,并仅授予必要的权限

47.2 所需字段 ​

需要在 manifest.json 中声明 permissions 才能使用此 API

json
{
  "name": "My extension",
  "permissions": []
}

47.3 Demo ​

js
chrome.permissions.getAll()

48. platformKeys ​

48.1 功能 ​

  • 使用 chrome.platformKeys API 访问由平台管理的客户端证书

48.2 所需权限 ​

  • platformKeys
json
{
  "name": "My extension",
  "permissions": [
    "platformKeys"
  ],
}

48.3 Demo ​

js
chrome.platformKeys.getKeyPair()

49. power ​

49.1 功能 ​

  • 使用 chrome.power API 可替换系统的电源管理功能

49.2 所需权限 ​

  • power
json
{
  "name": "My extension",
  "permissions": [
    "power"
  ],
}

49.3 Demo ​

js
chrome.power.releaseKeepAwake()
chrome.power.reportActivity()

50. printerProvider ​

50.1 功能 ​

  • 使用此 API 向平台公开证书,平台可以使用这些证书进行 TLS 身份验证chrome.printerProvider API 提供打印管理器使用的事件,以便查询由插件控制的打印机、查询其功能以及向这些打印机提交打印任务

50.2 所需权限 ​

  • printerProvider
json
{
  "name": "My extension",
  "permissions": [
    "printerProvider"
  ],
}

50.3 Demo ​

js
// 监听打印机请求
chrome.printerProvider.onGetCapabilityRequested.addListener()

52. printing ​

51.1 功能 ​

  • 使用 chrome.printing API 可将打印任务发送到 Chromebook 上安装的打印机

51.2 所需权限 ​

  • printing
json
{
  "name": "My extension",
  "permissions": [
    "printing"
  ],
}

51.3 Demo ​

js
chrome.printing.submitJob()

52. printingMetrics ​

52.1 功能 ​

  • 使用 chrome.printingMetrics API 提取有关打印使用情况的数据

52.2 所需权限 ​

  • printingMetrics
json
{
  "name": "My extension",
  "permissions": [
    "printingMetrics"
  ],
}

52.3 Demo ​

js
chrome.printingMetrics.getPrintJobs()

53. privacy ​

53.1 功能 ​

  • 使用 chrome.privacy API 来控制 Chrome 中可能会影响用户隐私的功能的使用

53.2 所需权限 ​

  • privacy
json
{
  "name": "My extension",
  "permissions": [
    "privacy"
  ],
}

53.3 Demo ​

js
chrome.privacy.services

54. processes ​

54.1 功能 ​

  • 使用 chrome.processes API 与浏览器的进程进行交互

54.2 所需权限 ​

  • processes
json
{
  "name": "My extension",
  "permissions": [
    "processes"
  ],
}

54.3 Demo ​

js
chrome.processes.onCreated.addListener()

55. proxy ​

55.1 功能 ​

  • 使用 chrome.proxy API 管理 Chrome 的代理设置

55.2 所需权限 ​

  • proxy
json
{
  "name": "My extension",
  "permissions": [
    "proxy"
  ],
}

55.3 Demo ​

js
chrome.proxy.onProxyError.addListener()

56. readingList ​

56.1 功能 ​

  • 使用 chrome.readingList API 读取和修改阅读清单中的项

56.2 所需权限 ​

  • readingList
json
{
  "name": "My extension",
  "permissions": [
    "readingList"
  ],
}

56.3 Demo ​

js
chrome.readingList.addEntry()

57. runtime ​

57.1 功能 ​

  • 使用 chrome.runtime API 检索 Service Worker,返回有关清单的详细信息,并监听和响应应用或插件生命周期中的事件

57.2 所需权限 ​

  • 此 API 不需要任何权限

57.3 Demo ​

js
chrome.runtime.getManifest()

58. scripting ​

58.1 功能 ​

  • 使用 chrome.scripting API 在不同上下文中执行脚本

58.2 所需权限 ​

  • scripting
json
{
  "name": "My extension",
  "permissions": [
    "scripting"
  ],
}

58.3 Demo ​

js
chrome.scripting.executeScript()
chrome.scripting.insertCSS()

59.1 功能 ​

  • 使用 chrome.search API 通过默认提供程序进行搜索

59.2 所需权限 ​

  • search
json
{
  "name": "My extension",
  "permissions": [
    "search"
  ],
}

59.3 Demo ​

js
chrome.search.query()

60. sessions ​

60.1 功能 ​

  • 使用 chrome.sessions API 可查询和恢复浏览会话中的标签页及窗口

60.2 所需权限 ​

  • sessions
json
{
  "name": "My extension",
  "permissions": [
    "sessions"
  ],
}

60.3 Demo ​

js
chrome.sessions.getDevices()
chrome.sessions.onChanged.addListener()

61. sidePanel ​

61.1 功能 ​

  • 使用 chrome.sidePanel API 可将内容托管在浏览器侧边栏中的网页主要内容旁边

61.2 所需权限 ​

  • sidePanel
json
{
  "name": "My extension",
  "permissions": [
    "sidePanel"
  ],
}

61.3 Demo ​

js
chrome.sidePanel.open()

62. storage ​

62.1 功能 ​

  • 使用 chrome.storage API 存储、检索和跟踪用户数据的更改

62.2 所需权限 ​

  • storage
json
{
  "name": "My extension",
  "permissions": [
    "storage"
  ],
}

62.3 Demo ​

js
chrome.storage.local.set()
chrome.storage.local.get()

63. system.cpu ​

63.1 功能 ​

  • 使用 system.cpu API 查询 CPU 元数据

63.2 所需权限 ​

  • system.cpu
json
{
  "name": "My extension",
  "permissions": [
    "system.cpu"
  ],
}

63.3 Demo ​

js
chrome.system.cpu.getInfo()

64. system.display ​

64.1 功能 ​

  • 使用 system.display API 查询屏幕元数据

64.2 所需权限 ​

  • system.display
json
{
  "name": "My extension",
  "permissions": [
    "system.display"
  ],
}

64.3 Demo ​

js
chrome.system.display.getInfo()

65. system.memory ​

65.1 功能 ​

  • chrome.system.memory API

65.2 所需权限 ​

  • system.memory
json
{
  "name": "My extension",
  "permissions": [
    "system.memory"
  ],
}

65.3 Demo ​

js
chrome.system.memory.getInfo()

66. system.storage ​

66.1 功能 ​

  • 使用 chrome.system.storage API 查询存储设备信息,并在连接和分离可移动存储设备时接收通知

66.2 所需权限 ​

  • system.storage
json
{
  "name": "My extension",
  "permissions": [
    "system.storage"
  ],
}

66.3 Demo ​

js
chrome.system.storage.getInfo()

67. tabCapture ​

67.1 功能 ​

  • 使用 chrome.tabCapture API 与标签页媒体流交互

67.2 所需权限 ​

  • tabCapture
json
{
  "name": "My extension",
  "permissions": [
    "tabCapture"
  ],
}

67.3 Demo ​

js
chrome.tabCapture.capture()

68. tabGroups ​

68.1 功能 ​

  • 使用 chrome.tabGroups API 与浏览器的标签页分组系统进行交互

68.2 所需权限 ​

  • tabGroups
json
{
  "name": "My extension",
  "permissions": [
    "tabGroups"
  ],
}

68.3 Demo ​

js
chrome.tabGroups.get()
chrome.tabGroups.move()

69. tabs ​

69.1 功能 ​

  • 使用 chrome.tabs API 与浏览器的标签页系统进行交互。可以使用此 API 在浏览器中创建、修改和重新排列标签页

69.2 所需权限 ​

  • tabs
json
{
  "name": "My extension",
  "permissions": [
    "tabs"
  ],
}

69.3 Demo ​

js
chrome.tabs.create()
chrome.tabs.get()

70. topSites ​

70.1 功能 ​

  • 使用 chrome.topSites API 访问新标签页中显示的热门网站(即最常访问的网站)。不包括用户自定义的快捷方式

70.2 所需权限 ​

  • topSites
json
{
  "name": "My extension",
  "permissions": [
    "topSites"
  ],
}

70.3 Demo ​

js
chrome.topSites.get()

71. tts ​

71.1 功能 ​

  • 使用 chrome.tts API 播放合成的文字转语音 (TTS)

71.2 所需权限 ​

  • tts
json
{
  "name": "My extension",
  "permissions": [
    "tts"
  ],
}

71.3 Demo ​

js
chrome.tts.speak()
chrome.tts.stop()

72. ttsEngine ​

72.1 功能 ​

  • 使用 chrome.ttsEngine API 通过插件实现文字转语音(TTS) 引擎

72.2 所需权限 ​

  • ttsEngine
json
{
  "name": "My extension",
  "permissions": [
    "ttsEngine"
  ],
}

72.3 Demo ​

js
chrome.ttsEngine.onSpeak.addListener()
chrome.ttsEngine.onStop.addListener

73. types ​

73.1 功能 ​

  • chrome.types API 包含 Chrome 的类型声明

74. userScripts ​

74.1 功能 ​

  • 使用 userScripts API 在用户脚本上下文中执行用户脚本

74.2 所需权限 ​

  • userScripts
json
{
  "name": "My extension",
  "permissions": [
    "userScripts"
  ],
}

74.3 Demo ​

js
chrome.userScripts.register()
chrome.userScripts.getScripts()

75. vpnProvider ​

75.1 功能 ​

  • 使用 chrome.vpnProvider API 实现 VPN 客户端

75.2 所需权限 ​

  • vpnProvider
json
{
  "name": "My extension",
  "permissions": [
    "vpnProvider"
  ],
}

75.3 Demo ​

js
chrome.vpnProvider.createConfig()

76. wallpaper ​

76.1 功能 ​

  • 使用 chrome.wallpaper API 更改 ChromeOS 壁纸

76.2 所需权限 ​

  • wallpaper
json
{
  "name": "My extension",
  "permissions": [
    "wallpaper"
  ],
}

76.3 Demo ​

js
chrome.wallpaper.setWallpaper()

77. webAuthenticationProxy ​

77.1 功能 ​

  • 借助 chrome.webAuthenticationProxy API,在远程主机上运行的远程桌面软件可以拦截 Web Authentication API (WebAuthn) 请求,以便在本地客户端上处理请求

77.2 所需权限 ​

  • webAuthenticationProxy
json
{
  "name": "My extension",
  "permissions": [
    "webAuthenticationProxy"
  ],
}

77.3 Demo ​

js
chrome.webAuthenticationProxy.attach()

78. webNavigation ​

78.1 功能 ​

  • 使用 chrome.webNavigation API 接收有关传输中的导航请求状态的通知

78.2 所需权限 ​

  • webNavigation
json
{
  "name": "My extension",
  "permissions": [
    "webNavigation"
  ],
}

78.3 Demo ​

js
chrome.webNavigation.getAllFrames()
chrome.webNavigation.onCompleted.addListener()

79. webRequest ​

79.1 功能 ​

  • 使用 chrome.webRequest API 可以观察和分析流量,以及拦截、屏蔽或修改运行中的请求

79.2 所需权限 ​

  • webRequest
json
{
  "name": "My extension",
  "permissions": [
    "webRequest"
  ],
}

79.3 Demo ​

js
chrome.webRequest.onCompleted.addListener()

80. windows ​

80.1 功能 ​

  • 使用 chrome.windows API 与浏览器窗口交互。可以使用此 API 在浏览器中创建、修改和重新排列窗口

80.2 所需权限 ​

  • tabs
json
{
  "name": "My extension",
  "permissions": [
    "tabs"
  ],
}

80.3 Demo ​

js
chrome.windows.create()
chrome.windows.getAll()