refresh date: 2026-09-25 robots: noindex
Beschrijving
Gebruik de chrome.contextMenus API om items toe te voegen aan het contextmenu van Google Chrome. Je kunt kiezen op welke typen objecten je contextmenu-toevoegingen van toepassing zijn, zoals afbeeldingen, hyperlinks en pagina's.
Rechten
contextMenusGebruik
Items in het contextmenu kunnen in elk document (of frame in een document) verschijnen, zelfs in documenten met file://- of chrome://-URL's. Als je wilt bepalen in welke documenten je items kunnen verschijnen, geef je het veld documentUrlPatterns op wanneer je de methode create() of update() aanroept.
Je kunt zoveel contextmenu-items maken als je nodig hebt, maar als er meer dan één van je extensie tegelijk zichtbaar is, vouwt Google Chrome ze automatisch samen tot één bovenliggend menu.
Manifest
Je moet het recht contextMenus definiëren in het manifest van je extensie om de API te kunnen gebruiken. Voer ook een icoon van 16 x 16 pixels in dat naast het menu-item wordt getoond. Voorbeeld:
{
"name": "My extension",
...
"permissions": [
"contextMenus"
],
"icons": {
"16": "icon-bitty.png",
"48": "icon-small.png",
"128": "icon-large.png"
},
...
}
Voorbeelden
Als je deze API wilt proberen, installeer je het voorbeeld van de contextMenus API uit de repository chrome-extension-samples.
Typen
ContextType
De verschillende contexten waarin een menu kan verschijnen. Als je 'all' opgeeft, is dit gelijk aan de combinatie van alle andere contexten, behalve 'launcher' en 'tab'. De context 'launcher' wordt alleen ondersteund door apps en wordt gebruikt om menu-items toe te voegen aan het contextmenu dat verschijnt als je op het app-icoon klikt in de launcher/taakbalk/dock/enzovoort. Verschillende platforms kunnen beperkingen opleggen aan wat daadwerkelijk wordt ondersteund in een contextmenu van een launcher.
Enum
"all"
"page"
"frame"
selectie
"link"
"editable"
"image"
"video"
"audio"
"launcher"
"action"
Van toepassing op het contextmenu van de actie van de extensie (het icoon op de werkbalk).
"tab"
Van toepassing op het contextmenu van een tabblad in de tabbladstrook.
CreateProperties
Eigenschappen van het nieuwe contextmenu-item.
Eigenschappen
-
aangevinkt
booleaans optioneel
De beginstatus van een selectievakje of keuzerondje:
truevoor geselecteerd,falsevoor niet geselecteerd. Er kan maar één keuzerondje tegelijk worden geselecteerd in een bepaalde groep. -
contexten
[ContextType, ...ContextType[]] optioneel
Lijst met contexten waarin dit menu-item verschijnt. De standaardwaarde is
['page']. -
documentUrlPatterns
string[] optioneel
Beperkt het item zodat het alleen van toepassing is op documenten of frames waarvan de URL overeenkomt met een van de opgegeven patronen. Ga naar Overeenkomstpatronen voor meer informatie over patroonindelingen.
-
aangezet
booleaans optioneel
Of dit contextmenu-item aan- of uitstaat. De standaardwaarde is
true. -
id
tekenreeks optioneel
De unieke ID die aan dit item moet worden toegewezen. Verplicht voor evenementpagina's. Mag niet hetzelfde zijn als een andere ID voor deze extensie.
-
parentId
tekenreeks | getal optioneel
De ID van een bovenliggend menu-item. Hiermee wordt het item een onderliggend item van een eerder toegevoegd item.
-
targetUrlPatterns
string[] optioneel
Vergelijkbaar met
documentUrlPatterns, filters op basis van het kenmerksrcvan de tagsimg,audioenvideoen het kenmerkhrefvan de tagsa. -
titel
tekenreeks optioneel
De tekst die in het item moet worden getoond. Dit is vereist, tenzij
typeseparatoris. Als de contextselectionis, gebruik je%sin de tekenreeks om de geselecteerde tekst te tonen. Als de waarde van deze parameter bijvoorbeeld 'Vertaal %s naar Pig Latin' is en de gebruiker het woord 'cool' selecteert, is het contextmenu-item voor de selectie 'Vertaal cool naar Pig Latin'. -
type
ItemType optioneel
Het type menu-item. De standaardwaarde is
normal. -
zichtbaar
booleaans optioneel
Of het item zichtbaar is in het menu.
-
onclick
void optioneel
Een functie die wordt teruggeroepen als er op het menu-item wordt geklikt. Dit is niet beschikbaar in een servicemedewerker. Registreer in plaats daarvan een listener voor
contextMenus.onClicked.De functie
onclickziet er zo uit:(info: OnClickData, tab: Tab) => {...}
-
info
Informatie over het item waarop is geklikt en de context waarin de klik heeft plaatsgevonden.
-
tab
De details van het tabblad waar de klik heeft plaatsgevonden. Deze parameter is niet aanwezig voor platform-apps.
-
ItemType
Het type menu-item.
Enum
"normal"
"checkbox"
"radio"
"separator"
OnClickData
Informatie die wordt gestuurd als er op een item in het contextmenu wordt geklikt.
Eigenschappen
-
aangevinkt
booleaans optioneel
Een markering die de status van een selectievakje of keuzerondje aangeeft nadat erop is geklikt.
-
bewerkbaar
booleaans
Een markering die aangeeft of het element bewerkbaar is (tekstinvoer, tekstgebied, enzovoort).
-
frameId
number optioneel
Chrome 51+De ID van het frame van het element waarop in het contextmenu is geklikt, als dit in een frame stond.
-
frameUrl
tekenreeks optioneel
De URL van het frame van het element waarop in het contextmenu is geklikt, als dit zich in een frame bevond.
-
linkUrl
tekenreeks optioneel
Als het element een link is, de URL waarnaar het verwijst.
-
mediaType
tekenreeks optioneel
'image', 'video' of 'audio' als het contextmenu is geactiveerd voor een van deze elementtypen.
-
tekenreeks | getal
De ID van het menu-item waarop is geklikt.
-
pageUrl
tekenreeks optioneel
De URL van de pagina waarop op het menu-item is geklikt. Deze property wordt niet ingesteld als de klik plaatsvond in een context waarin er geen huidige pagina is, zoals in een contextmenu van de Launcher.
-
parentMenuItemId
tekenreeks | getal optioneel
De bovenliggende ID, indien van toepassing, voor het item waarop is geklikt.
-
selectionText
tekenreeks optioneel
De tekst voor de contextselectie, indien van toepassing.
-
srcUrl
tekenreeks optioneel
Is aanwezig voor elementen met een src-URL.
-
wasChecked
booleaans optioneel
Een markering die de status van een selectievakje of keuzerondje aangeeft voordat erop werd geklikt.
Eigenschappen
ACTION_MENU_TOP_LEVEL_LIMIT
Het maximale aantal extensie-items op het hoogste niveau dat kan worden toegevoegd aan een contextmenu voor extensieacties. Items die deze limiet overschrijden, worden genegeerd.
Waarde
6
Methoden
create()
chrome.contextMenus.create(
createProperties: CreateProperties,
callback?: function,
): number | string
Maakt een nieuw contextmenu-item. Als er een fout optreedt tijdens het maken, wordt deze misschien pas gedetecteerd als de callback voor maken wordt geactiveerd. De details staan in runtime.lastError.
Parameters
-
createProperties
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
getal | tekenreeks
De ID van het nieuwe item.
remove()
chrome.contextMenus.remove(
menuItemId: string | number,
callback?: function,
): Promise<void>
Verwijdert een contextmenu-item.
Parameters
-
tekenreeks | getal
De ID van het contextmenu-item dat je wilt verwijderen.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 123 of hogerWordt opgelost als het contextmenu is verwijderd.
Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
removeAll()
chrome.contextMenus.removeAll(
callback?: function,
): Promise<void>
Verwijdert alle contextmenu-items die door deze extensie zijn toegevoegd.
Parameters
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 123 of hogerWordt opgelost als de verwijdering is afgerond.
Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
update()
chrome.contextMenus.update(
id: string | number,
updateProperties: object,
callback?: function,
): Promise<void>
Updatet een eerder gemaakt contextmenu-item.
Parameters
-
id
tekenreeks | getal
De ID van het item dat je wilt updaten.
-
updateProperties
object
De eigenschappen die je wilt updaten. Accepteert dezelfde waarden als de functie
contextMenus.create.-
aangevinkt
booleaans optioneel
-
contexten
[ContextType, ...ContextType[]] optioneel
-
documentUrlPatterns
string[] optioneel
-
aangezet
booleaans optioneel
-
parentId
tekenreeks | getal optioneel
De ID van het item dat het bovenliggende item van dit item moet worden. Opmerking: Je kunt een item niet instellen als onderliggend item van een eigen onderliggend item.
-
targetUrlPatterns
string[] optioneel
-
titel
tekenreeks optioneel
-
type
ItemType optioneel
-
zichtbaar
booleaans optioneel
Chrome 62 of hogerOf het item zichtbaar is in het menu.
-
onclick
void optioneel
De functie
onclickziet er zo uit:(info: OnClickData, tab: Tab) => {...}
-
infoChrome 44+
-
tabChrome 44+
De details van het tabblad waar de klik heeft plaatsgevonden. Deze parameter is niet aanwezig voor platform-apps.
-
-
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 123 of hogerWordt opgelost als het contextmenu is geüpdatet.
Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
Evenementen
onClicked
chrome.contextMenus.onClicked.addListener(
callback: function,
)
Wordt geactiveerd als er op een contextmenu-item wordt geklikt.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(info: OnClickData, tab?: tabs.Tab) => void
-
info
-
tab
tabs.Tab optioneel
-