refresh date: 2026-09-25 robots: noindex
说明
chrome.extension API 具有可供任何扩展程序页面使用的实用程序。它支持在扩展程序及其内容脚本之间或在扩展程序之间交换消息,如消息传递中所述。
类型
ViewType
扩展视图的类型。
枚举
"tab"
"popup"
属性
inIncognitoContext
如果内容脚本在无痕式标签页中运行,或者扩展程序网页在无痕式进程中运行,则为 true。后者仅适用于具有“split”incognito_behavior 的扩展程序。
类型
布尔值
lastError
请使用 runtime.lastError。
如果异步扩展 API 导致错误,则为回调的生命周期设置。如果未发生任何错误,则 lastError 将为 undefined。
类型
对象
属性
-
私信
字符串
对已发生错误的描述。
方法
getBackgroundPage()
chrome.extension.getBackgroundPage(): Window | undefined
返回在当前扩展程序内运行的后台网页的 JavaScript“window”对象。如果扩展程序没有背景网页,则返回 null。
返回
-
窗口 | 未定义
getExtensionTabs()
chrome.extension.getExtensionTabs(
windowId?: number,
): Window[]
请使用 extension.getViews {type: "tab"}。
返回一个 JavaScript“窗口”对象数组,其中包含当前扩展程序中运行的每个标签页对应的对象。如果指定了 windowId,则仅返回附加到指定窗口的标签页的“窗口”对象。
参数
-
windowId
number 可选
返回
-
Window[]
全局窗口对象数组
getURL()
chrome.extension.getURL(
path: string,
): string
请使用 runtime.getURL。
将扩展程序安装目录中的相对路径转换为完全限定的网址。
参数
-
路径
字符串
扩展程序内资源的路径,相对于其安装目录表示。
返回
-
字符串
资源的完全限定网址。
getViews()
chrome.extension.getViews(
fetchProperties?: object,
): Window[]
返回一个数组,其中包含当前扩展程序中运行的每个网页的 JavaScript“window”对象。
参数
-
fetchProperties
对象(可选)
-
tabId
number 可选
Chrome 54 及更高版本根据标签页 ID 查找视图。如果省略此字段,则返回所有视图。
-
类型
ViewType 可选
要获取的视图类型。如果省略,则返回所有视图(包括后台网页和标签页)。
-
windowId
number 可选
要将搜索范围限制到的窗口。如果省略,则返回所有视图。
-
返回
-
Window[]
全局对象数组
isAllowedFileSchemeAccess()
chrome.extension.isAllowedFileSchemeAccess(
callback?: function,
): Promise<boolean>
检索扩展程序对“file://”方案的访问状态。此设置对应于用户控制的“允许访问文件网址”设置(按扩展程序进行设置),可通过 chrome://extensions 页面访问。
参数
-
callback
函数 可选
callback参数如下所示:(isAllowedAccess: boolean) => void
-
isAllowedAccess
布尔值
如果扩展程序可以访问“file://”方案,则为 true,否则为 false。
-
返回
-
Promise<boolean>
Chrome 99 及更高版本仅 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
isAllowedIncognitoAccess()
chrome.extension.isAllowedIncognitoAccess(
callback?: function,
): Promise<boolean>
检索扩展程序对无痕模式的访问权限状态。此设置对应于用户控制的“允许在无痕模式下运行”扩展程序级设置,可通过 chrome://extensions 页面访问。
参数
-
callback
函数 可选
callback参数如下所示:(isAllowedAccess: boolean) => void
-
isAllowedAccess
布尔值
如果扩展程序有权访问无痕模式,则为 true;否则为 false。
-
返回
-
Promise<boolean>
Chrome 99 及更高版本仅 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
sendRequest()
chrome.extension.sendRequest(
extensionId?: string,
request: any,
callback?: function,
): Promise<any>
请使用 runtime.sendMessage。
向扩展程序中的其他监听器发送单个请求。类似于 runtime.connect,但仅发送一个请求,并提供可选的响应。extension.onRequest 事件在扩展程序的每个网页中触发。
参数
-
extensionId
字符串 可选
您要连接到的扩展程序的扩展程序 ID。如果省略,则默认为您自己的扩展服务。
-
request
任意
-
callback
函数 可选
Chrome 99 及更高版本callback参数如下所示:(response: any) => void
-
Response
任意
由请求处理程序发送的 JSON 响应对象。如果在连接到扩展程序时发生错误,Promise 将被拒绝。
-
返回
-
Promise<any>
Chrome 99 及更高版本仅 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
setUpdateUrlData()
chrome.extension.setUpdateUrlData(
data: string,
): void
设置扩展程序更新网址中使用的 ap CGI 参数的值。对于托管在 Chrome 扩展程序库中的扩展程序,此值会被忽略。
参数
-
数据
字符串
事件
onRequest
chrome.extension.onRequest.addListener(
callback: function,
)
请使用 runtime.onMessage。
当从扩展程序进程或内容脚本发送请求时触发。
参数
-
callback
函数
callback参数如下所示:(request: any, sender: runtime.MessageSender, sendResponse: function) => void
-
request
任意
-
sendResponse
函数
sendResponse参数如下所示:() => void
-
onRequestExternal
chrome.extension.onRequestExternal.addListener(
callback: function,
)
请使用 runtime.onMessageExternal。
当从其他扩展程序发送请求时触发。
参数
-
callback
函数
callback参数如下所示:(request: any, sender: runtime.MessageSender, sendResponse: function) => void
-
request
任意
-
sendResponse
函数
sendResponse参数如下所示:() => void
-