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 uw contextmenu-toevoegingen van toepassing zijn, zoals afbeeldingen, hyperlinks en pagina's.

Machtigingen

contextMenus

Gebruik

Contextmenu-items kunnen in elk document (of frame binnen een document) verschijnen, zelfs in documenten met een file://- of chrome://-URL. Om te bepalen in welke documenten uw items kunnen verschijnen, specificeert u het veld documentUrlPatterns wanneer u de methode create() of update() aanroept.

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

Manifest

U moet de machtiging "contextMenus" in het manifest van uw extensie declareren om de API te gebruiken. U moet ook een pictogram van 16x16 pixels opgeven voor weergave naast uw menu-item. Bijvoorbeeld:

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

Voorbeelden

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

Typen

ContextType

Chroom 44+

De verschillende contexten waarin een menu kan verschijnen. Het specificeren van 'alle' 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 in de launcher/taakbalk/dock/enz. klikt. Verschillende platforms kunnen beperkingen opleggen aan wat daadwerkelijk wordt ondersteund in een contextmenu van een launcher.

Enum

"alle"

"pagina"

"kader"

"selectie"

"link"

"bewerkbaar"

"afbeelding"

"video"

"audio"

"lanceerinrichting"

"browser_actie"

"pagina_actie"

"actie"

CreateProperties

Chroom 123+

Eigenschappen van het nieuwe contextmenu-item.

Eigenschappen

  • gecontroleerd

    boolean optioneel

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

  • contexten

    [ ContextType , ... ContextType []] optioneel

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

  • documentUrlPatronen

    string[] optioneel

    Beperkt het item tot alleen documenten of frames waarvan de URL overeenkomt met een van de opgegeven patronen. Zie Patronen matchen voor meer informatie over patroonformaten .

  • ingeschakeld

    boolean optioneel

    Of dit contextmenu-item is in- of uitgeschakeld. Standaard is dit true .

  • id

    string optioneel

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

  • ouder-ID

    string | nummer optioneel

    De ID van een bovenliggend menu-item. Hiermee wordt het item een 'kind' van een eerder toegevoegd item.

  • targetUrlPatterns

    string[] optioneel

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

  • titel

    string optioneel

    De tekst die in het item moet worden weergegeven; dit is vereist , tenzij type separator is. Wanneer de context selection is, gebruikt u %s in de tekenreeks om de geselecteerde tekst weer te geven. Als de waarde van deze parameter bijvoorbeeld "'%s' vertalen naar Pig Latin" is en de gebruiker het woord "cool" selecteert, is het contextmenu-item voor de selectie "''cool' vertalen naar Pig Latin".

  • type

    ItemType optioneel

    Het type menu-item. Standaard is dit normal .

  • zichtbaar

    boolean optioneel

    Of het item zichtbaar is in het menu.

  • onclick

    leeg optioneel

    Een functie die wordt aangeroepen wanneer op het menu-item wordt geklikt. Deze functie is niet beschikbaar binnen een service worker; in plaats daarvan moet u een listener 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 is geklikt.

    • 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 er op een contextmenu-item wordt geklikt.

Eigenschappen

  • gecontroleerd

    boolean optioneel

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

  • bewerkbaar

    Booleaanse

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

  • frame-ID

    nummer optioneel

    Chroom 51+

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

  • frameUrl

    string optioneel

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

  • linkUrl

    string optioneel

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

  • mediaType

    string optioneel

    Één van 'afbeelding', 'video' of 'audio' als het contextmenu is geactiveerd op een van deze typen elementen.

  • menuItemId

    tekenreeks | getal

    De ID van het menu-item waarop is geklikt.

  • paginaUrl

    string optioneel

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

  • ouderMenuItemId

    string | nummer optioneel

    De bovenliggende ID, indien van toepassing, voor het aangeklikte item.

  • selectieTekst

    string optioneel

    De tekst voor de contextselectie, indien van toepassing.

  • bron-Url

    string optioneel

    Is aanwezig voor elementen met een 'src'-URL.

  • was gecontroleerd

    boolean optioneel

    Een vlag die de status van een selectievakje of keuzerondje aangeeft voordat erop is 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 extensie-actie. Items boven deze limiet worden genegeerd.

Waarde

6

Methoden

create()

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

Maakt een nieuw contextmenu-item aan. Als er tijdens het aanmaken een fout optreedt, wordt deze mogelijk pas gedetecteerd nadat de callback voor het aanmaken is geactiveerd. Details staan in runtime.lastError .

Parameters

  • createProperties
  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    () => void

Retourneren

  • nummer | string

    De ID van het nieuw aangemaakte item.

remove()

Belofte
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 u wilt verwijderen.

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 123+

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

removeAll()

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

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

Parameters

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 123+

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

update()

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

Werkt een eerder gemaakt contextmenu-item bij.

Parameters

  • id

    tekenreeks | getal

    De ID van het item dat moet worden bijgewerkt.

  • updateProperties

    voorwerp

    De bij te werken eigenschappen. Accepteert dezelfde waarden als de functie contextMenus.create .

    • gecontroleerd

      boolean optioneel

    • contexten

      [ ContextType , ... ContextType []] optioneel

    • documentUrlPatronen

      string[] optioneel

    • ingeschakeld

      boolean optioneel

    • ouder-ID

      string | nummer optioneel

      De ID van het item dat als ouder van dit item moet worden gemaakt. Let op: U kunt een item niet instellen als onderliggend item van een eigen afstammeling.

    • targetUrlPatterns

      string[] optioneel

    • titel

      string optioneel

    • type

      ItemType optioneel

    • zichtbaar

      boolean optioneel

      Chroom 62+

      Of het item zichtbaar is in het menu.

    • onclick

      leeg 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.

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 123+

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

Evenementen

onClicked

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

Wordt geactiveerd wanneer er op een contextmenu-item wordt geklikt.

Parameters