chrome.contextMenu's

Beschrijving

Gebruik de chrome.contextMenus API om items toe te voegen aan het contextmenu van Google Chrome. U kunt kiezen op welke typen objecten de toevoegingen aan het contextmenu van toepassing zijn, zoals afbeeldingen, hyperlinks en pagina's.

Rechten

contextMenus

U moet de machtiging "contextMenus" opgeven in het manifest van uw extensie om de API te kunnen gebruiken. U moet ook een pictogram van 16 bij 16 pixels opgeven dat naast uw menu-item wordt weergegeven. Bijvoorbeeld:

{
  "name": "My extension",
  ...
  "permissions": [
    "contextMenus"
  ],
  "icons": {
    "16": "icon-bitty.png",
    "48": "icon-small.png",
    "128": "icon-large.png"
  },
  ...
}

Concepten en gebruik

Contextmenu-items kunnen in elk document (of frame binnen een document) voorkomen, zelfs in die met file://- of chrome://-URL's. Als u wilt bepalen in welke documenten uw items kunnen verschijnen, geeft u het veld documentUrlPatterns op wanneer u de methoden create() of update() aanroept.

U kunt zoveel contextmenu-items maken als u nodig heeft, maar als er meer dan één van uw extensie tegelijk zichtbaar is, vouwt Google Chrome deze automatisch samen in één bovenliggend menu.

Voorbeelden

Om deze API te proberen, installeert u het contextMenus API-voorbeeld uit de chrome-extension-samples- repository.

Soorten

ContextType

Chroom 44+

De verschillende contexten waarin een menu kan verschijnen. Het specificeren van 'alles' is gelijk aan de combinatie van alle andere contexten behalve 'launcher'. De 'launcher'-context wordt alleen ondersteund door apps en wordt gebruikt om menu-items toe te voegen aan het contextmenu dat verschijnt wanneer u op het app-pictogram klikt in het opstartprogramma/taakbalk/dock/etc. Verschillende platforms kunnen beperkingen stellen aan wat feitelijk wordt ondersteund in een contextmenu van een opstartprogramma.

Enum

"alle"

"bladzijde"

"kader"

"selectie"

"koppeling"

"bewerkbaar"

"afbeelding"

"video"

"audio"

"draagraket"

"browseractie"

"pagina_actie"

"actie"

CreateProperties

Chroom 123+

Eigenschappen van het nieuwe contextmenu-item.

Eigenschappen

  • gecontroleerd

    Booleaans optioneel

    De beginstatus van een selectievakje of keuzerondje: true voor geselecteerd, false voor niet-geselecteerd. In een bepaalde groep kan slechts één keuzerondje tegelijk worden geselecteerd.

  • contexten

    [ ContextType ,... ContextType []] optioneel

    Lijst met contexten waarin dit menu-item zal verschijnen. Standaard ingesteld op ['page'] .

  • documentUrlPatterns

    tekenreeks[] optioneel

    Beperkt het item zodat het alleen van toepassing is op documenten of frames waarvan de URL overeenkomt met een van de opgegeven patronen. Voor meer informatie over patroonformaten, zie Matchpatronen .

  • ingeschakeld

    Booleaans optioneel

    Of dit contextmenu-item is ingeschakeld of uitgeschakeld. Standaard ingesteld op true .

  • ID kaart

    tekenreeks optioneel

    De unieke ID die aan dit item moet worden toegewezen. Verplicht voor evenementpagina's. Kan niet hetzelfde zijn als een andere ID voor deze extensie.

  • ouder ID

    string|nummer optioneel

    De ID van een bovenliggend menu-item; hierdoor wordt het item een ​​onderliggend item van een eerder toegevoegd item.

  • targetUrlPatterns

    tekenreeks[] optioneel

    Vergelijkbaar met documentUrlPatterns , filters gebaseerd op het src attribuut van img , audio en video tags en het href attribuut van a -tags.

  • titel

    tekenreeks optioneel

    De tekst die in het item moet worden weergegeven; dit is vereist tenzij type separator is. Als de context selection is, gebruik dan %s binnen de tekenreeks om de geselecteerde tekst weer te geven. 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. Standaard ingesteld op normal .

  • zichtbaar

    Booleaans optioneel

    Of het item zichtbaar is in het menu.

  • bij klikken

    ongeldig optioneel

    Een functie die wordt teruggeroepen wanneer op het menu-item wordt geklikt. Dit is niet beschikbaar binnen een servicemedewerker; in plaats daarvan moet u een luisteraar registreren voor contextMenus.onClicked .

    De onclick functie ziet er als volgt uit:

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

    • informatie

      Informatie over het item waarop is geklikt en de context waarin de klik heeft plaatsgevonden.

    • tabblad

      De details van het tabblad waarop de klik plaatsvond. Deze parameter is niet aanwezig voor platform-apps.

ItemType

Chroom 44+

Het type menu-item.

Enum

"normaal"

"selectievakje"

"radio"

"scheidingsteken"

OnClickData

Informatie die wordt verzonden wanneer op een contextmenu-item wordt geklikt.

Eigenschappen

  • gecontroleerd

    Booleaans optioneel

    Een vlag die de status van een selectievakje of keuzerondje aangeeft nadat erop is geklikt.

  • bewerkbaar

    Booleaans

    Een vlag die aangeeft of het element bewerkbaar is (tekstinvoer, tekstgebied, enz.).

  • frameId

    nummer optioneel

    Chroom 51+

    De ID van het frame van het element waarop op het contextmenu is geklikt, als dit zich in een frame bevindt.

  • frameUrl

    tekenreeks optioneel

    De URL van het frame van het element waarop op het contextmenu is geklikt, als dit zich in een frame bevindt.

  • linkUrl

    tekenreeks optioneel

    Als het element een link is, de URL waarnaar het verwijst.

  • mediatype

    tekenreeks optioneel

    Eén van 'afbeelding', 'video' of 'audio' als het contextmenu op een van dit soort elementen is geactiveerd.

  • menuItemId

    tekenreeks|nummer

    De ID van het menu-item waarop is geklikt.

  • pagina URL

    tekenreeks optioneel

    De URL van de pagina waarop op het menu-item is geklikt. Deze eigenschap wordt niet ingesteld als de klik plaatsvond in een context waarin er geen huidige pagina is, zoals in een contextmenu van het opstartprogramma.

  • parentMenuItemId

    string|nummer optioneel

    De bovenliggende ID, indien aanwezig, voor het item waarop is geklikt.

  • selectieTekst

    tekenreeks optioneel

    De tekst voor de contextselectie, indien aanwezig.

  • srcUrl

    tekenreeks optioneel

    Zal aanwezig zijn voor elementen met een 'src'-URL.

  • wasaangevinkt

    Booleaans optioneel

    Een vlag 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 het contextmenu van een extensieactie. Alle items die deze limiet overschrijden, worden genegeerd.

Waarde

6

Methoden

create()

chrome.contextMenus.create(
  createProperties: CreateProperties,
  callback?: function,
)

Creëert een nieuw contextmenu-item. Als er tijdens het maken een fout optreedt, wordt deze mogelijk pas gedetecteerd nadat de aanmaak-callback is geactiveerd; details staan ​​in runtime.lastError .

Parameters

  • maakeigenschappen
  • Bel terug

    functie optioneel

    De callback parameter ziet er als volgt uit:

    ()=>void

Geeft terug

  • nummer|reeks

    De ID van het nieuw gemaakte item.

remove()

Belofte
chrome.contextMenus.remove(
  menuItemId: string|number,
  callback?: function,
)

Verwijdert een contextmenu-item.

Parameters

  • menuItemId

    tekenreeks|nummer

    De ID van het contextmenu-item dat moet worden verwijderd.

  • Bel terug

    functie optioneel

    De callback parameter ziet er als volgt uit:

    ()=>void

Geeft terug

  • Beloof <nietig>

    Chroom 123+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

removeAll()

Belofte
chrome.contextMenus.removeAll(
  callback?: function,
)

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

Parameters

  • Bel terug

    functie optioneel

    De callback parameter ziet er als volgt uit:

    ()=>void

Geeft terug

  • Beloof <nietig>

    Chroom 123+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

update()

Belofte
chrome.contextMenus.update(
  id: string|number,
  updateProperties: object,
  callback?: function,
)

Werkt een eerder gemaakt contextmenu-item bij.

Parameters

  • ID kaart

    tekenreeks|nummer

    De ID van het item dat moet worden bijgewerkt.

  • updateEigenschappen

    voorwerp

    De eigenschappen die moeten worden bijgewerkt. Accepteert dezelfde waarden als de functie contextMenus.create .

    • gecontroleerd

      Booleaans optioneel

    • contexten

      [ ContextType ,... ContextType []] optioneel

    • documentUrlPatterns

      tekenreeks[] optioneel

    • ingeschakeld

      Booleaans optioneel

    • ouder ID

      string|nummer optioneel

      De ID van het item dat tot het bovenliggende item van dit item moet worden gemaakt. Let op: U kunt niet instellen dat een item een ​​onderliggend item wordt van zijn eigen afstammeling.

    • targetUrlPatterns

      tekenreeks[] optioneel

    • titel

      tekenreeks optioneel

    • type

      ItemType optioneel

    • zichtbaar

      Booleaans optioneel

      Chroom 62+

      Of het item zichtbaar is in het menu.

    • bij klikken

      ongeldig optioneel

      De onclick functie ziet er als volgt uit:

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

      • informatie
        Chroom 44+
      • tabblad
        Chroom 44+

        De details van het tabblad waarop de klik plaatsvond. Deze parameter is niet aanwezig voor platform-apps.

  • Bel terug

    functie optioneel

    De callback parameter ziet er als volgt uit:

    ()=>void

Geeft terug

  • Beloof <nietig>

    Chroom 123+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

Evenementen

onClicked

chrome.contextMenus.onClicked.addListener(
  callback: function,
)

Wordt geactiveerd wanneer op een contextmenu-item wordt geklikt.

Parameters