chrome.debugger

Beschrijving

De chrome.debugger API dient als alternatief transport voor Chrome's protocol voor foutopsporing op afstand . Gebruik chrome.debugger om aan een of meer tabbladen te koppelen om netwerkinteractie te instrumenteren, JavaScript te debuggen, de DOM en CSS te muteren, en meer. Gebruik de Debuggee eigenschap tabId om tabbladen te targeten met sendCommand en gebeurtenissen te routeren op tabId vanuit onEvent callbacks.

Machtigingen

debugger

Beveiligingsopmerking

Om veiligheidsredenen biedt de chrome.debugger API geen toegang tot alle Chrome DevTools Protocol-domeinen. De beschikbare domeinen zijn: Toegankelijkheid , Audits , CacheStorage , Console , CSS , Database , Debugger , DOM , DOMDebugger , DOMSnapshot , Emulatie , Fetch , IO , Input , Inspector , Log , Netwerk , Overlay , Pagina , Prestaties , Profiler , Runtime , Opslag , Target , Tracing , WebAudio en WebAuthn .

Manifest

U moet de toestemming "debugger" 'in het manifest van uw extensie opgeven om deze API te kunnen gebruiken.

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

Voorbeelden

Als u deze API wilt uitproberen, installeert u het debugger-API-voorbeeld uit de chrome-extension-samples- repository.

Soorten

Debuggee

Debuggee-ID. TabId, extensionId of targetId moeten worden opgegeven

Eigenschappen

  • extensieId

    tekenreeks optioneel

    De id van de extensie waarvoor u fouten wilt opsporen. Het koppelen aan een extensie-achtergrondpagina is alleen mogelijk als de opdrachtregeloptie --silent-debugger-extension-api wordt gebruikt.

  • tabId

    nummer optioneel

    De ID van het tabblad waarvoor u fouten wilt opsporen.

  • doelID

    tekenreeks optioneel

    De ondoorzichtige ID van het foutopsporingsdoel.

DebuggerSession

Chroom 125+

Identificatie van de foutopsporingssessie. Er moet een van tabId, extensionId of targetId worden opgegeven. Bovendien kan een optionele sessionId worden opgegeven. Als sessionId is opgegeven voor argumenten die worden verzonden vanuit onEvent , betekent dit dat de gebeurtenis afkomstig is van een onderliggende protocolsessie binnen de root debuggee-sessie. Als sessionId wordt opgegeven wanneer het wordt doorgegeven aan sendCommand , richt het zich op een onderliggende protocolsessie binnen de root debuggee-sessie.

Eigenschappen

  • extensieId

    tekenreeks optioneel

    De id van de extensie waarvoor u fouten wilt opsporen. Het koppelen aan een extensie-achtergrondpagina is alleen mogelijk als de opdrachtregeloptie --silent-debugger-extension-api wordt gebruikt.

  • sessieId

    tekenreeks optioneel

    De ondoorzichtige ID van de Chrome DevTools Protocol-sessie. Identificeert een onderliggende sessie binnen de hoofdsessie, geïdentificeerd door tabId, extensionId of targetId.

  • tabId

    nummer optioneel

    De ID van het tabblad waarvoor u fouten wilt opsporen.

  • doelID

    tekenreeks optioneel

    De ondoorzichtige ID van het foutopsporingsdoel.

DetachReason

Chroom 44+

Reden voor beëindiging van de verbinding.

Enum

"doel_gesloten"

"geannuleerd_door_gebruiker"

TargetInfo

Debug doelinformatie

Eigenschappen

  • bijgevoegd

    Booleaans

    Waar als debugger al is aangesloten.

  • extensieId

    tekenreeks optioneel

    De extensie-ID, gedefinieerd als type = 'background_page'.

  • faviconUrl

    tekenreeks optioneel

    Doelfavicon-URL.

  • Identiteitskaart

    snaar

    Doel-ID.

  • tabId

    nummer optioneel

    De tabblad-ID, gedefinieerd als type == 'pagina'.

  • titel

    snaar

    Titel van doelpagina.

  • Doeltype.

  • URL

    snaar

    Doel-URL.

TargetInfoType

Chroom 44+

Doeltype.

Enum

"pagina"

"achtergrond_pagina"

"werknemer"

"ander"

Methoden

attach()

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

Koppelt debugger aan het opgegeven doel.

Parameters

  • Foutopsporing in het doel waaraan u wilt koppelen.

  • vereiste versie

    snaar

    Vereiste versie van het foutopsporingsprotocol ("0.1"). Men kan alleen aan de debuggee koppelen met een overeenkomende hoofdversie en een grotere of gelijke secundaire versie. Een lijst met de protocolversies kunt u hier verkrijgen.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retouren

  • Beloof <nietig>

    Chroom 96+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

detach()

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

Ontkoppelt debugger van het opgegeven doel.

Parameters

  • Foutopsporing in het doel waarvan u zich wilt losmaken.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retouren

  • Beloof <nietig>

    Chroom 96+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

getTargets()

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

Retourneert de lijst met beschikbare foutopsporingsdoelen.

Parameters

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result: TargetInfo[]) => void

    • resultaat

      Array van TargetInfo-objecten die overeenkomen met de beschikbare foutopsporingsdoelen.

Retouren

  • Beloof < DoelInfo []>

    Chroom 96+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

sendCommand()

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

Stuurt het opgegeven commando naar het foutopsporingsdoel.

Parameters

  • Foutopsporing in het doel waarnaar u de opdracht wilt verzenden.

  • methode

    snaar

    Naam van methode. Moet een van de methoden zijn die zijn gedefinieerd door het protocol voor foutopsporing op afstand .

  • commandoParams

    object optioneel

    JSON-object met aanvraagparameters. Dit object moet voldoen aan het parameterschema voor foutopsporing op afstand voor een bepaalde methode.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result?: object) => void

    • resultaat

      object optioneel

      JSON-object met het antwoord. De structuur van het antwoord varieert afhankelijk van de naam van de methode en wordt gedefinieerd door het attribuut 'returns' van de opdrachtbeschrijving in het protocol voor foutopsporing op afstand.

Retouren

  • Belofte<object | ongedefinieerd>

    Chroom 96+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

Evenementen

onDetach

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

Wordt geactiveerd wanneer de browser de foutopsporingssessie voor het tabblad beëindigt. Dit gebeurt wanneer het tabblad wordt gesloten of Chrome DevTools wordt aangeroepen voor het bijgevoegde tabblad.

Parameters

onEvent

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

Wordt geactiveerd wanneer foutopsporing in de instrumentatiegebeurtenis van doelproblemen optreedt.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

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