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

U moet de machtiging "contextMenus" in het manifest van uw extensie declareren om de API te gebruiken. U moet ook een pictogram van 16 bij 16 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"
  },
  ...
}

Begrippen en 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.

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/etc. 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()

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

Verwijdert een contextmenu-item.

Parameters

  • menuItemId

    tekenreeks | getal

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

Retourneren

  • Belofte<leegte>

    Chroom 123+

removeAll()

chrome.contextMenus.removeAll(): Promise<void>

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

Retourneren

  • Belofte<leegte>

    Chroom 123+

update()

chrome.contextMenus.update(
  id: string | number,
  updateProperties: object,
)
: 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.

Retourneren

  • Belofte<leegte>

    Chroom 123+

Evenementen

onClicked

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

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

Parameters