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.
Machtigingen
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
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" "pagina" "kader" "selectie" "link" "bewerkbaar" "afbeelding" "video" "audio" "draagraket" "browseractie" "pagina_actie" "actie"
CreateProperties
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
. - Identiteitskaart
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.
- ouderId
tekenreeks | 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 hetsrc
attribuut vanimg
,audio
envideo
tags en hethref
attribuut vana
tags. - titel
tekenreeks optioneel
De tekst die in het item moet worden weergegeven; dit is vereist tenzij
type
separator
is. Als de contextselection
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.
- klik
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
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.
tekenreeks | nummer
De ID van het menu-item waarop is geklikt.
- paginaUrl
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
tekenreeks | 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
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
nummer | snaar
De ID van het nieuw gemaakte item.
remove()
chrome.contextMenus.remove(
menuItemId: string | number,
callback?: function,
)
Verwijdert een contextmenu-item.
Parameters
tekenreeks | nummer
De ID van het contextmenu-item dat moet worden verwijderd.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
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()
chrome.contextMenus.removeAll(
callback?: function,
)
Verwijdert alle contextmenu-items die door deze extensie zijn toegevoegd.
Parameters
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
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()
chrome.contextMenus.update(
id: string | number,
updateProperties: object,
callback?: function,
)
Werkt een eerder gemaakt contextmenu-item bij.
Parameters
- Identiteitskaart
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
- ouderId
tekenreeks | 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.
- klik
ongeldig optioneel
De
onclick
functie ziet er als volgt uit:(info: OnClickData, tab: Tab) => {...}
- informatieChroom 44+
- tabbladChroom 44+
De details van het tabblad waarop de klik plaatsvond. Deze parameter is niet aanwezig voor platform-apps.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
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
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(info: OnClickData, tab?: tabs.Tab) => void
- informatie
- tabblad
tabbladen. Tabblad optioneel