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
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
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.
- type
Doeltype.
- URL
snaar
Doel-URL.
TargetInfoType
Doeltype.
Enum
"pagina" "achtergrond_pagina" "werknemer" "ander"
Methoden
attach()
chrome.debugger.attach(
target: Debuggee,
requiredVersion: string,
callback?: function,
)
Koppelt debugger aan het opgegeven doel.
Parameters
- doel
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()
chrome.debugger.detach(
target: Debuggee,
callback?: function,
)
Ontkoppelt debugger van het opgegeven doel.
Parameters
- doel
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()
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
DoelInfo []
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()
chrome.debugger.sendCommand(
target: DebuggerSession,
method: string,
commandParams?: object,
callback?: function,
)
Stuurt het opgegeven commando naar het foutopsporingsdoel.
Parameters
- doel
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
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(source: Debuggee, reason: DetachReason) => void
- bron
- reden
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
- bron
- methode
snaar
- parameters
object optioneel