当前位置: 首页 > 工具软件 > Chrome > 使用案例 >

chrome 扩展插件API

白坚壁
2023-12-01

稳定的API

api解释
accessibilityFeatures使用 chrome.accessibilityFeatures 管理chrome的可访问功能,该API依赖于ChromeSetting prototype of the type API 来读取和设置个人辅助功能,为了读取功能状态,需要请求accessibilityFeatures.read权限。插件需要请求accessibilityFeatures.modify权限来修改功能状态。需要注意的是, accessibilityFeatures.readaccessibilityFeatures.modify两个权限不等价
action可以使用 chrome.action 设置扩展在菜单栏的图标
alarms可以使用chrome.alarms 来设置定期执行或者未来某个时间执行的程序
bookmarks可以使用chrome.bookmarks 进行书签创建、管理或其他方式操作书签。也可以查阅Override Pages,你可以用它来创建一个自定义的书签管理器页面
browserAction(MV2)使图标出现在chrome导航栏右侧,除了它的图标,一个browserAction可以设置一个tooltip、一个badge、或一个popup
browsingDatachrome.browsingData可以从用户的本地配置文件中删除浏览数据
certificateProvider使用此API将证书暴露给需要进行TLS认证的平台
commands可以为自己插件的动作设置快捷键,比如打开浏览器或者向该插件发送命令
contentSettingschrome.contentSettings可以改变控制网站是否可以使用cookies、JavaScript和插件等功能的设置。简单来说,contentSettings可以代替全局在每个网站的基础上定制Chrome的表现
contextMenus可以使用chrome.contextMenus 添加一些选项到chrome的上下文菜单中。你可以选择你的上下文菜单添加适用于哪些类型的对象,如图像、超链接和页面
cookieschrome.cookies 用于查询和修改 cookie 并在更改时收到通知
debuggerchrome.debugger API服务可以代替 remote debugging protocol远程调试协议,使用chrome.debugger 把一个或多个标签与与网络接口关联,调试JavaScript,改变DOM和CSS,等等。使用Debuggee tabId来锁定标签与sendCommand和route事件,再通过回调事件返回tabId
declarativeContentchrome.declarativeContentAPI 可根据页面内容执行操作,无需获得读取页面内容的权限
declarativeNetRequest(Chrome 84)chrome.declarativeNetRequestAPI 用于通过指定声明性规则来阻止或修改网络请求。这允许扩展程序修改网络请求而无需拦截它们并查看其内容,从而提供更多隐私
desktopCapture可用于捕获屏幕、单个窗口或选项卡内容的桌面捕获 API
devtools.inspectedWindowchrome.devtools.inspectedWindow与被检查窗口交互:获得被检查页面的标签ID,在被检查窗口的上下文中评估代码,重新加载页面,或获得页面中的资源列表。
devtools.networkchrome.devtools.network检索有关开发者工具在网络面板中显示的网络请求的信息
devtools.panelschrome.devtools.panels整合你的扩展到开发者面板中:创建自己的面板、访问现有面板、创建侧边栏
documentScanchrome.documentScan发现和检索附属纸质文件扫描仪的图像
downloadschrome.downloads以编程方式启动、监控、操作和搜索下载
enterprise.deviceAttributeschrome.enterprise.deviceAttributes可读取设备属性。注意:此 API 仅适用于由企业策略强制安装的扩展程序
enterprise.hardwarePlatform(Chrome 71)chrome.enterprise.hardwarePlatform用来获取浏览器运行的硬件平台的制造商和型号。注意:该API仅适用于由企业策略安装的扩展
enterprise.networkingAttributes(Chrome 85)chrome.enterprise.networkingAttributes用于读取有关您当前网络的信息的 API。注意:此 API 仅适用于企业策略强制安装的扩展
enterprise.platformKeyschrome.enterprise.platformKeys用于生成硬件支持的密钥并为这些密钥安装证书。证书将由平台管理,可用于 TLS 身份验证、网络访问或通过 chrome.platformKeys 的其他扩展
eventschrome.events命名空间包含 API 调度事件使用的常见类型,以便在发生有趣的事情时通知您
extensionchrome.extensionAPI 具有可供任何扩展页面使用的实用程序。它支持在扩展与其内容脚本之间或扩展之间交换消息,如Message Passing所述。
extensionTypeschrome.extensionTypesAPI 包含 Chrome 扩展的类型声明
fileBrowserHandlerchrome.fileBrowserHandler用于扩展 Chrome 操作系统文件浏览器。例如,您可以使用此 API 使用户能够将文件上传到您的网站
fileSystemProviderchrome.fileSystemProvider用于创建文件系统,可从 Chrome 操作系统上的文件管理器访问
fontSettingschrome.fontSettings用于管理 Chrome 字体设置
gcmchrome.gcm使app和扩展程序能够通过Google Cloud Messaging Service 发送和接收消息
historychrome.history可以用浏览器浏览记录做交互,可以添加、删除和查询浏览器历史记录中的 URL。要使用您自己的版本覆盖历史记录页面,请参阅Override Pages
i18nchrome.i18n在整个app或扩展程序中实现国际化。
identitychrome.identity用于获取OAuth2访问令牌
idlechrome.idle用于检测机器空闲状态的改变
input.imechrome.input.ime 用于为 Chrome 操作系统实现自定义 IME。这允许您的扩展程序处理击键、设置组合和管理候选窗口。
instanceIDchrome.instanceID用于访问实例 ID 服务。
loginState(Chrome 78)chrome.loginState用于读取和监控登录状态
managementchrome.management提供管理已安装及运行中的扩展程序/应用程序列表的方法。它对于覆盖内置新标签页的扩展特别有用
notificationschrome.notifications使用模板创建丰富的通知,并在系统托盘中向用户显示这些通知
omnibox允许您使用 Google Chrome 的地址栏(也称为多功能框)注册关键字。
pageAction(MV2)chrome.pageAction将图标放置在 Google Chrome 主工具栏中的 API,位于地址栏的右侧。页面操作表示可以在当前页面上执行的操作,但不适用于所有页面。页面操作在不活动时显示为灰色
pageCapturechrome.pageCapture将选项卡保存为 MHTML
permissionschrome.permissions在运行时(不是安装时)请求声明的可选权限,因此用户了解为什么需要这些权限并只授予那些必要的权限
platformKeyschrome.platformKeys用于访问平台管理的客户端证书。如果用户或策略授予权限,扩展可以在其自定义身份验证协议中使用此类证书。例如。这允许在第三方 VPN 中使用平台管理的证书(请参阅 chrome.vpnProvider)
powerchrome.power用来覆盖系统的电源管理功能
printerProviderchrome.printerProvider公开打印管理器使用的事件来查询由扩展控制的打印机,查询它们的功能并将打印作业提交给这些打印机
printing(Chrome 81)chrome.printing将打印作业发送到 Chromebook 上安装的打印机
printingMetrics(Chrome 79)chrome.printingMetrics用于获取有关打印使用情况的数据
privacychrome.privacy用于控制 Chrome 中可能影响用户隐私的功能的使用。这个 API 依赖于ChromeSetting prototype of the type API来获取和设置 Chrome 的配置。
proxychrome.proxy用于管理 Chrome 代理设置。该 API 依赖于ChromeSetting prototype of the type API来获取和设置代理配置。
runtimechrome.runtime用于检索background页、返回manifest的详细信息以及侦听和响应app或扩展生命周期中的事件。您还可以使用此 API 将相对路径转换为绝对路径
scripting(Chrome 88MV3+)chrome.scripting在不同环境中执行脚本
search(Chrome 87)chrome.search通过默认提供方进行搜索
sessionschrome.sessions用来从浏览会话中查询和恢复标签页和窗口
storagechrome.storage存储、检索和跟进用户数据
system.cpusystem.cpu可查询 CPU 元数据
system.displaysystem.display可查询显示元数据
system.memorychrome.system.memory
system.storagechrome.system.storage用来查询存储设备信息,并在可移动存储设备被连接和拆卸时发出通知。
tabCapturechrome.tabCapture用来与标签媒体流交互。
tabGroups(Chrome 89MV3+)chrome.tabGroups用来与浏览器的标签分组系统交互,您可以使用此 API 在浏览器中修改和重新排列选项卡组。要对选项卡进行分组和取消分组,或查询分组中的选项卡,请使用 chrome.tabs
tabschrome.tabs用来与标签系统做交互,可以用来在浏览器中创建、修改和重排标签页
topSiteschrome.topSites用来访问显示在新标签页上的热门站点(即访问量最大的站点),不包括用户自定义的快捷方式。
ttschrome.tts用来播放合成的tts,也可以查看允许扩展实现语音引擎的ttsEngineAPI
ttsEnginechrome.ttsEngine用与扩展实现tts引擎,如果你的扩张注册了这个API,当任何扩展程序或 Chrome 应用程序使用 tts API 生成语音时,它将接收要说的话语和其他参数的事件。然后,您的扩展程序可以使用任何可用的网络技术来合成和输出语音,并把报告状态通过事件发送给回调函数
typeschrome.types 包含Chrome 的类型声明
vpnProviderchrome.vpnProvider用来实现一个 VPN 客户端。
wallpaperchrome.wallpaper用来更改 ChromeOS 壁纸
webNavigationchrome.webNavigation以接收关于飞行中的导航请求状态的通知
webRequestchrome.webRequest可以观察和分析流量并拦截、阻止或修改进行中的请求
windowschrome.windows用来与浏览器窗口交互。您可以使用此 API 在浏览器中创建、修改和重新排列窗口。

beta API

name描述
declarativeWebRequest(MV2)此 API 已弃用。请查看 declarativeNetRequest API。使用 chrome.declarativeWebRequest API 拦截、阻止或修改正在进行的请求。它比 chrome.webRequest API 快得多,因为您可以注册在浏览器而不是 JavaScript 引擎中评估的规则,从而减少往返延迟并提高效率

Dev API

name描述
automationchrome.automation允许开发人员访问浏览器的自动化(可访问性)树。该树类似于 DOM 树,但仅暴露页面的语义结构。它可用于通过检查名称、角色和状态、侦听事件以及在节点上执行操作来以编程方式与页面交互
processeschrome.processes 可以与浏览器的进程交互。
signedInDeviceschrome.signedInDevices获取使用与当前配置文件相同的帐户登录 chrome 的设备列表

平台应用程序 API

name描述
app.runtime使用 chrome.app.runtime API 来管理应用程序生命周期。应用运行时管理应用安装,控制事件页面,可以随时关闭应用。
app.window使用 chrome.app.window API 创建窗口。 Windows 有一个带有标题栏和大小控件的可选框架。它们与任何 Chrome 浏览器窗口无关。有关这些选项的演示,请参阅窗口状态示例。
appviewTag使用 appview 标签在您的 Chrome 应用程序中嵌入其他 Chrome 应用程序。(见用法)。
audio(Dev channel)提供 chrome.audio API 以允许用户获取有关连接到系统的音频设备的信息并对其进行控制。此 API 目前仅在 ChromeOS 的自助服务终端模式下可用。
bluetooth使用 chrome.bluetooth API 连接到蓝牙设备。所有函数都通过 chrome.runtime.lastError 报告失败。
bluetoothLowEnergychrome.bluetoothLowEnergy API 用于使用通用属性配置文件 (GATT) 与蓝牙智能(低功耗)设备进行通信。
bluetoothSocket使用 chrome.browser API 与与当前应用程序和 Chrome 配置文件关联的 Chrome 浏览器交互。
browser使用 chrome.browser API 与与当前应用程序和 Chrome 配置文件关联的 Chrome 浏览器交互。
clipboard(Dev channel)提供 chrome.clipboard API 以允许用户访问剪贴板的数据。这是 chromeos 平台应用程序的临时解决方案,直到开放网络替代方案可用。一旦开放网络解决方案可用,它将被弃用,这可能是在 2017 年第四季度。
fileSystem使用 chrome.fileSystem API 创建、读取、导航和写入用户的本地文件系统。使用此 API,Chrome 应用程序可以读取和写入用户选择的位置。例如,文本编辑器应用程序可以使用 API 来读取和写入本地文档。所有失败都通过 chrome.runtime.lastError 通知。
hid使用 chrome.hid API 与连接的 HID 设备进行交互。此 API 提供从应用程序上下文中访问 HID 操作的权限。使用此 API,应用程序可以充当硬件设备的驱动程序。此 API 产生的错误通过设置 runtime.lastError 并执行函数的常规回调来报告。在这种情况下,回调的常规参数将是未定义的
mdns使用 chrome.mdns API 通过 mDNS 发现服务。这包括 NSD 规范的一部分功能:http://www.w3.org/TR/discovery-api/
mediaGalleries使用 chrome.mediaGalleries API 从用户的本地磁盘(经用户同意)访问媒体文件(音频、图像、视频)。
serial使用 chrome.serial API 读取和写入连接到串行端口的设备。
socket使用 chrome.socket API 通过 TCP 和 UDP 连接通过网络发送和接收数据。注意:从 Chrome 33 开始,这个 API 被弃用,取而代之的是 sockets.udpsockets.tcpsockets.tcpServer API。
sockets.tcp使用 chrome.sockets.tcp API 通过 TCP 连接通过网络发送和接收数据。此 API 取代了先前在 chrome.socket API 中找到的 TCP 功能。
sockets.tcpServer使用 chrome.sockets.tcpServer API 来创建使用 TCP 连接的服务器应用程序。此 API 取代了先前在 chrome.socket API 中找到的 TCP 功能。
sockets.udp使用 chrome.sockets.udp API 通过 UDP 连接通过网络发送和接收数据。此 API 取代了先前在“套接字”API 中找到的 UDP 功能。
syncFileSystem使用 chrome.syncFileSystem API 在 Google Drive 上保存和同步数据。此 API 不适用于访问存储在 Google Drive 中的任意用户文档。它为离线和缓存使用提供特定于应用程序的可同步存储,以便可以跨不同客户端使用相同的数据。有关使用此 API 的更多信息,请阅读管理数据。
system.network使用 chrome.system.network API
usb使用 chrome.usb API 与连接的 USB 设备交互。此 API 提供从应用程序上下文中访问 USB 操作的权限。使用此 API,应用程序可以充当硬件设备的驱动程序。此 API 产生的错误通过设置 runtime.lastError 并执行函数的常规回调来报告。在这种情况下,回调的常规参数将是未定义的。
webviewTag使用 webview 标签通过网络主动加载来自网络的实时内容并将其嵌入到您的 Chrome 应用程序中。您的应用程序可以控制 webview 的外观并与 web 内容交互、在嵌入式网页中启动导航、对其中发生的错误事件做出反应等(请参阅用法)。
 类似资料: