chrome.extension

说明

chrome.extension API 包含可供任何扩展程序页面使用的实用程序。它支持在扩展程序与其内容脚本之间或扩展程序之间交换消息,详见消息传递

类型

ViewType

Chrome 44 及更高版本

附加信息视图的类型。

枚举

“制表符”

“popup”

属性

inIncognitoContext

对于在无痕式标签页中运行的内容脚本,以及在无痕式进程中运行的扩展程序页面,该值为 true。后者仅适用于具有“split”的扩展程序wear_behavior 行为。

类型

布尔值

lastError

<ph type="x-smartling-placeholder"></ph> &amp;leq;MV2 自 Chrome 58 起弃用

请使用 runtime.lastError

如果异步扩展 API 导致错误,则为回调的生命周期设置此字段。如果未发生任何错误,则 lastError 将为 undefined

类型

对象

属性

  • 消息

    字符串

    对所发生的错误的说明。

方法

getBackgroundPage()

<ph type="x-smartling-placeholder"></ph> 仅限前台
chrome.extension.getBackgroundPage()

返回 JavaScript“window”对象。如果扩展程序没有后台页面,则返回 null。

返回

  • 窗口 |未定义

getExtensionTabs()

<ph type="x-smartling-placeholder"></ph> &amp;leq;MV2 仅限前台 已弃用
chrome.extension.getExtensionTabs(
  windowId?: number,
)

请使用 extension.getViews {type: "tab"}

返回 JavaScript“window”的数组对象。如果指定了 windowId,则仅返回“window”附加到指定窗口的标签页对象。

参数

  • windowId

    编号(选填

返回

  • 窗口 []

    全局窗口对象的数组

getURL()

<ph type="x-smartling-placeholder"></ph> &amp;leq;MV2 自 Chrome 58 起弃用
chrome.extension.getURL(
  path: string,
)

请使用 runtime.getURL

将扩展程序安装目录中的相对路径转换为完全限定网址。

参数

  • 路径

    字符串

    指向扩展程序中资源的路径,以相对于其安装目录来表示。

返回

  • 字符串

    指向资源的完全限定网址。

getViews()

<ph type="x-smartling-placeholder"></ph> 仅限前台
chrome.extension.getViews(
  fetchProperties?: object,
)

返回 JavaScript“window”的数组对象。

参数

  • fetchProperties

    对象(可选

    • tabId

      编号(选填

      Chrome 54 及更高版本

      根据标签页 ID 查找视图。如果省略此字段,则返回所有视图。

    • 类型

      ViewType 可选

      要获取的视图类型。如果省略,则返回所有视图(包括后台网页和标签页)。

    • windowId

      编号(选填

      搜索范围限制的窗口。如果省略,则返回所有视图。

返回

  • 窗口 []

    全局对象数组

isAllowedFileSchemeAccess()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.extension.isAllowedFileSchemeAccess(
  callback?: function,
)

检索扩展程序对“file://”的访问状态架构。这对应于用户控制的每个扩展程序“允许访问文件网址”可通过 chrome://extensions 页面访问。

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      布尔值

      如果扩展程序可以访问“file://”,则为“true”架构,否则为 false。

返回

  • Promise&lt;boolean&gt;

    Chrome 99 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

isAllowedIncognitoAccess()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.extension.isAllowedIncognitoAccess(
  callback?: function,
)

检索扩展程序对无痕模式的访问状态。这对应于用户控制的每个扩展程序“允许在无痕模式下使用”可通过 chrome://extensions 页面访问。

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      布尔值

      如果扩展程序有权访问无痕模式,则为 true,否则为 false。

返回

  • Promise&lt;boolean&gt;

    Chrome 99 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

sendRequest()

<ph type="x-smartling-placeholder"></ph> 承诺 &amp;leq;MV2 已弃用
chrome.extension.sendRequest(
  extensionId?: string,
  request: any,
  callback?: function,
)

请使用 runtime.sendMessage

向扩展程序中的其他监听器发送单个请求。与 runtime.connect 类似,但只发送带有可选响应的请求。extension.onRequest 事件会在扩展程序的每个网页中触发。

参数

  • extensionId

    字符串(可选)

    您要连接的扩展程序的 ID。如果省略,则默认为您自己的扩展程序。

  • request

    任意

  • callback

    函数(可选)

    Chrome 99 及更高版本

    callback 参数如下所示:

    (response: any) => void

    • Response

      任意

      请求的处理程序发送的 JSON 响应对象。如果连接到扩展程序时出错,则调用回调时不使用任何参数,并且 runtime.lastError 将被设置为错误消息。

返回

  • 承诺<any>

    Chrome 99 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

setUpdateUrlData()

chrome.extension.setUpdateUrlData(
  data: string,
)

设置扩展程序更新网址中使用的 ap CGI 参数的值。对于 Chrome 扩展程序库中托管的扩展程序,系统会忽略此值。

参数

  • 数据

    字符串

事件

onRequest

<ph type="x-smartling-placeholder"></ph> &amp;leq;MV2 已弃用
chrome.extension.onRequest.addListener(
  callback: function,
)

请使用 runtime.onMessage

从扩展程序进程或内容脚本发送请求时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • request

      任意

    • sendResponse

      函数

      sendResponse 参数如下所示:

      () => void

onRequestExternal

<ph type="x-smartling-placeholder"></ph> &amp;leq;MV2 已弃用
chrome.extension.onRequestExternal.addListener(
  callback: function,
)

请使用 runtime.onMessageExternal

从其他扩展程序发送请求时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • request

      任意

    • sendResponse

      函数

      sendResponse 参数如下所示:

      () => void