chrome.contextMenu's

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.

Toestemmingen

contextMenus

Om de API te kunnen gebruiken, moet u de machtiging "contextMenus" in het manifest van uw extensie declareren. Daarnaast dient u een pictogram van 16 bij 16 pixels op te geven 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) verschijnen, zelfs in documenten met URL's zoals file:// of chrome://. Om te bepalen in welke documenten uw items kunnen verschijnen, kunt u het veld documentUrlPatterns specificeren wanneer u de methoden create() of update() aanroept.

Je kunt zoveel contextmenu-items aanmaken als je nodig hebt, maar als er meer dan één item van je extensie tegelijk zichtbaar is, vouwt Google Chrome ze automatisch samen tot één overkoepelend menu.

Voorbeelden

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

Soorten

ContextType

Chrome 44+

De verschillende contexten waarin een menu kan verschijnen. Het specificeren van 'alles' komt overeen met de combinatie van alle andere contexten behalve 'launcher'. De context 'launcher' 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 er daadwerkelijk wordt ondersteund in een launcher-contextmenu.

Enum

"alle"

"pagina"

"kader"

"selectie"

"link"

"bewerkbaar"

"afbeelding"

"video"

"audio"

"lanceerder"

"browser_actie"

"pagina-actie"

"actie"

CreateProperties

Chrome 123+

Eigenschappen van het nieuwe contextmenu-item.

Eigenschappen

  • gecontroleerd

    boolean optioneel

    De beginstatus van een selectievakje of keuzeknop: true voor geselecteerd, false voor niet geselecteerd. Er kan slechts één keuzeknop tegelijk in een bepaalde groep geselecteerd zijn.

  • contexten

    [ ContextType , ... ContextType []] optioneel

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

  • documentUrlPatterns

    string[] optioneel

    Hiermee wordt het item beperkt tot documenten of frames waarvan de URL overeenkomt met een van de opgegeven patronen. Zie 'Patronen matchen' voor meer informatie over patroonindelingen.

  • ingeschakeld

    boolean optioneel

    Geeft aan 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 evenementpagina's. Mag niet hetzelfde zijn als een andere ID voor deze extensie.

  • ouder-ID

    tekenreeks | getal optioneel

    De ID van een bovenliggend menu-item; hiermee wordt het item een ​​subitem van een eerder toegevoegd item.

  • doelURL-patronen

    string[] optioneel

    Net als documentUrlPatterns filtert deze functie op basis van het src -attribuut van img , audio en video tags en het href attribuut van a tags.

  • titel

    string optioneel

    De tekst die in het item moet worden weergegeven; dit is verplicht , tenzij type separator is. Wanneer de context selection is, gebruik dan %s in 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 is dit ' normal .

  • zichtbaar

    boolean optioneel

    Of het item zichtbaar is in het menu.

  • onclick

    void 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 aangeklikte item en de context waarin de klik plaatsvond.

    • tab

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

ItemType

Chrome 44+

Het type menu-item.

Enum

"normaal"

"selectievakje"

"radio"

"scheidingsteken"

OnClickData

Informatie die wordt verzonden wanneer op een item in het contextmenu wordt geklikt.

Eigenschappen

  • gecontroleerd

    boolean 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

    Chrome 51+

    De ID van het frame van het element waarop het contextmenu is geklikt, indien het zich in een frame bevond.

  • frameUrl

    string optioneel

    De URL van het frame van het element waarop het contextmenu is aangeklikt, indien dit zich in een frame bevond.

  • linkUrl

    string optioneel

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

  • mediaType

    string optioneel

    Een van de waarden 'afbeelding', '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.

  • paginaUrl

    string optioneel

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

  • parentMenuItemId

    tekenreeks | getal optioneel

    De ouder-ID, indien aanwezig, van het aangeklikte item.

  • selectieTekst

    string optioneel

    De tekst voor de contextselectie, indien aanwezig.

  • srcUrl

    string optioneel

    Dit is van toepassing op elementen met een 'src'-URL.

  • werd gecontroleerd

    boolean 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 items op het hoogste niveau dat aan het contextmenu van een extensieactie kan worden toegevoegd. Items boven deze limiet worden genegeerd.

Waarde

6

Methoden

create()

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

Hiermee wordt een nieuw contextmenu-item aangemaakt. Als er tijdens het aanmaken een fout optreedt, wordt deze mogelijk pas gedetecteerd wanneer de aanmaakcallback wordt uitgevoerd; details zijn te vinden in runtime.lastError .

Parameters

  • eigenschappen maken
  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retourneert

  • getal | tekenreeks

    De ID van het nieuw aangemaakte item.

remove()

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

Verwijdert een item uit het contextmenu.

Parameters

  • menuItemId

    tekenreeks | getal

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

Retourneert

  • Promise<void>

    Chrome 123+

    Dit probleem treedt op wanneer het contextmenu is verwijderd.

removeAll()

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

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

Retourneert

  • Promise<void>

    Chrome 123+

    Het probleem wordt opgelost zodra de verwijdering is voltooid.

update()

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

Hiermee wordt een eerder aangemaakt contextmenu-item bijgewerkt.

Parameters

  • id

    tekenreeks | getal

    De ID van het item dat moet worden bijgewerkt.

  • eigenschappen bijwerken

    voorwerp

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

    • gecontroleerd

      boolean optioneel

    • contexten

      [ ContextType , ... ContextType []] optioneel

    • documentUrlPatterns

      string[] optioneel

    • ingeschakeld

      boolean optioneel

    • ouder-ID

      tekenreeks | getal optioneel

      De ID van het item dat de ouder van dit item moet worden. Let op: u kunt een item niet instellen als kind van zijn eigen afstammeling.

    • doelURL-patronen

      string[] optioneel

    • titel

      string optioneel

    • type

      ItemType optioneel

    • zichtbaar

      boolean optioneel

      Chrome 62+

      Of het item zichtbaar is in het menu.

    • onclick

      void optioneel

      De onclick functie ziet er als volgt uit:

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

      • informatie
        Chrome 44+
      • tab
        Chrome 44+

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

Retourneert

  • Promise<void>

    Chrome 123+

    Het probleem wordt opgelost wanneer het contextmenu is bijgewerkt.

Evenementen

onClicked

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

Wordt geactiveerd wanneer op een item in het contextmenu wordt geklikt.

Parameters