chrome.debugger

Description

chrome.debugger API 作为 Chrome 远程调试协议的替代传输。使用 chrome.debugger 附加到一个或多个选项卡以检测网络交互、调试 JavaScript、改变 DOM 和 CSS 等。使用 Debuggee tabId 使用 sendCommand 定位选项卡,并通过 tabId 从 onEvent 回调路由事件。


Permissions

debugger

# Notes

截至今天,通过调试器 API 附加到选项卡和使用带有该选项卡的嵌入式 Chrome DevTools 是相互排斥的。如果用户在扩展程序附加到选项卡时调用 Chrome DevTools,调试会话将终止。扩展可以稍后重新建立它。

# Manifest

您必须在扩展程序的清单中声明“debugger”权限才能使用此 API。

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

Examples

您可以在示例中找到此 API 的示例

Summary

Types

Debuggee

被调试者标识符。必须指定 tabId 或 extensionId

PROPERTIES

  • extensionId

    string optional

    您要调试的扩展的 ID。只有在使用 --silent-debugger-extension-api 命令行开关时,才能附加到扩展后台页面。

  • tabId

    number optional

    您打算调试的选项卡的 ID。

  • targetId

    string optional

    调试目标的不透明 ID。

DetachReason

Chrome 44+

连接终止原因。

TYPE

"target_closed", or "canceled_by_user"

TargetInfo

调试目标信息

PROPERTIES

  • attached

    boolean

    如果已附加调试器,则为真。

  • extensionId

    string optional

    扩展 ID,在 type = 'background_page' 时定义。

  • faviconUrl

    string optional

    目标网站图标 URL。

  • id

    string

    目标 ID。

  • tabId

    number optional

    选项卡 ID,在 type == 'page' 时定义。

  • title

    string

    目标页面标题。

  • type

    TargetInfoType

    目标类型。

  • url

    string

    目标网址。

TargetInfoType

Chrome 44+

目标类型。

TYPE

"page", "background_page", "worker", or "other"

Methods

attach

chrome.debugger.attach( target: Debuggee, requiredVersion: string, callback?: function, )

Promise

将调试器附加到给定的目标。

PARAMETERS

  • target

    Debuggee

    要附加到的调试目标。

  • requiredVersion

    string

    所需的调试协议版本(“0.1”)。只能附加到具有匹配主要版本和大于或等于次要版本的调试对象。协议版本列表可以在这里获得。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

detach

chrome.debugger.detach( target: Debuggee, callback?: function, )

Promise

从给定的目标分离调试器。

PARAMETERS

  • target

    Debuggee

    要从中分离的调试目标。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getTargets

chrome.debugger.getTargets(
  callback?: function,
)

Promise

返回可用调试目标的列表。

PARAMETERS

  • callback

    function optional

    The callback parameter looks like:

    (result: TargetInfo[]) => void

    • result

      TargetInfo[]

      与可用调试目标对应的 TargetInfo 对象数组。

RETURNS

  • Promise<TargetInfo[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

sendCommand

chrome.debugger.sendCommand( target: Debuggee, method: string, commandParams?: object, callback?: function, )

Promise

将给定的命令发送到调试目标。

PARAMETERS

  • target

    Debuggee

    要将命令发送到的调试目标。

  • method

    string

    方法名称。应该是远程调试协议定义的方法之一。

  • commandParams

    object optional

    带有请求参数的 JSON 对象。此对象必须符合给定方法的远程调试参数方案。

  • callback

    function optional

    The callback parameter looks like:

    (result?: object) => void
    • result

      object optional

      带有响应的 JSON 对象。响应的结构因方法名称而异,由远程调试协议中命令描述的“返回”属性定义。

RETURNS

  • Promise<object | undefined>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

Events

onDetach

chrome.debugger.onDetach.addListener(
  callback: function,
)

当浏览器终止选项卡的调试会话时触发。当关闭选项卡或为附加的选项卡调用Chrome DevTools时,会发生这种情况。

PARAMETERS

onEvent

chrome.debugger.onEvent.addListener(
  callback: function,
)

每当调试目标发出检测事件时触发。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (source: Debuggee, method: string, params?: object) => void

    • source

      Debuggee

    • method

      string

    • params

      object optional

By.一粒技术服务.

results matching ""

    No results matching ""