chrome.contextMenus

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

contextMenus

Gebruik

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

Chrome 44+

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

Chrome 123 of hoger

Eigenschappen van het nieuwe contextmenu-item.

Eigenschappen

  • aangevinkt

    booleaans optioneel

    De beginstatus van een selectievakje of keuzerondje: true voor geselecteerd, false voor 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 kenmerk src van de tags img, audio en video en het kenmerk href van de tags a.

  • titel

    tekenreeks optioneel

    De tekst die in het item moet worden getoond. Dit is vereist, tenzij type separator is. Als de context selection is, gebruik je %s in 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 onclick ziet er zo uit:

    (info: OnClickData, tab: Tab) => {...}

    • 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

Chrome 44+

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.

  • menuItemId

    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 callback ziet er zo uit:

    () => void

Retourzendingen

  • getal | tekenreeks

    De ID van het nieuwe item.

remove()

Promise
chrome.contextMenus.remove(
  menuItemId: string | number,
  callback?: function,
)
: Promise<void>

Verwijdert een contextmenu-item.

Parameters

  • menuItemId

    tekenreeks | getal

    De ID van het contextmenu-item dat je wilt verwijderen.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 123 of hoger

    Wordt opgelost als het contextmenu is verwijderd.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

removeAll()

Promise
chrome.contextMenus.removeAll(
  callback?: function,
)
: Promise<void>

Verwijdert alle contextmenu-items die door deze extensie zijn toegevoegd.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 123 of hoger

    Wordt opgelost als de verwijdering is afgerond.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

update()

Promise
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 hoger

      Of het item zichtbaar is in het menu.

    • onclick

      void optioneel

      De functie onclick ziet er zo uit:

      (info: OnClickData, tab: Tab) => {...}

      • Chrome 44+
      • tab
        Chrome 44+

        De details van het tabblad waar de klik heeft plaatsgevonden. Deze parameter is niet aanwezig voor platform-apps.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 123 of hoger

    Wordt 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