Beschrijving
Met de omnibox API kunt u een trefwoord registreren in de adresbalk van Google Chrome, ook wel de omnibox genoemd.
Wanneer de gebruiker het zoekwoord van uw extensie invoert, begint de gebruiker uitsluitend met uw extensie te communiceren. Elke toetsaanslag wordt naar uw toestel verzonden en u kunt als antwoord suggesties geven.
De suggesties kunnen op verschillende manieren rijkelijk worden opgemaakt. Wanneer de gebruiker een suggestie accepteert, ontvangt uw toestel een melding en kan actie ondernemen.
Manifest
De volgende sleutels moeten in het manifest worden gedeclareerd om deze API te kunnen gebruiken.
"omnibox"
U moet een veld "omnibox.keyword"
in het manifest opnemen om de omnibox API te kunnen gebruiken. U moet ook een pictogram van 16 bij 16 pixels opgeven, dat in de adresbalk wordt weergegeven wanneer wordt voorgesteld dat gebruikers naar de trefwoordmodus gaan.
Bijvoorbeeld:
{
"name": "Aaron's omnibox extension",
"version": "1.0",
"omnibox": { "keyword" : "aaron" },
"icons": {
"16": "16-full-color.png"
},
"background": {
"persistent": false,
"scripts": ["background.js"]
}
}
Voorbeelden
Om deze API te proberen, installeert u het omnibox API-voorbeeld uit de chrome-extension-samples- repository.
Soorten
DefaultSuggestResult
Een suggestief resultaat.
Eigenschappen
- beschrijving
snaar
De tekst die wordt weergegeven in de vervolgkeuzelijst URL. Kan opmaak in XML-stijl bevatten voor styling. De ondersteunde tags zijn 'url' (voor een letterlijke URL), 'match' (voor het markeren van tekst die overeenkomt met de zoekopdracht van de gebruiker) en 'dim' (voor dimbare helptekst). De stijlen kunnen worden genest, bijv. gedimde wedstrijd.
DescriptionStyleType
Het stijltype.
Enum
"url" "overeenkomst" "dim"
OnInputEnteredDisposition
De vensterdispositie voor de omnibox-query. Dit is de aanbevolen context om resultaten weer te geven. Als het omnibox-commando bijvoorbeeld is om naar een bepaalde URL te navigeren, betekent de instelling 'newForegroundTab' dat de navigatie moet plaatsvinden op een nieuw geselecteerd tabblad.
Enum
"huidig tabblad" "nieuwVoorgrondTabblad" "nieuwAchtergrondtabblad"
SuggestResult
Een suggestief resultaat.
Eigenschappen
- inhoud
snaar
De tekst die in de URL-balk wordt geplaatst en die naar de extensie wordt verzonden wanneer de gebruiker dit item kiest.
- verwijderbaar
Booleaans optioneel
Chroom 63+Of het voorgestelde resultaat door de gebruiker kan worden verwijderd.
- beschrijving
snaar
De tekst die wordt weergegeven in de URL-vervolgkeuzelijst. Kan opmaak in XML-stijl bevatten voor styling. De ondersteunde tags zijn 'url' (voor een letterlijke URL), 'match' (voor het markeren van tekst die overeenkomt met de zoekopdracht van de gebruiker) en 'dim' (voor dimbare helptekst). De stijlen kunnen worden genest, bijv. gedimde wedstrijd. U moet aan de vijf vooraf gedefinieerde entiteiten ontsnappen om ze als tekst weer te geven: stackoverflow.com/a/1091953/89484
Methoden
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
)
Stelt de beschrijving en stijl in voor de standaardsuggestie. De standaardsuggestie is de tekst die wordt weergegeven in de eerste suggestierij onder de URL-balk.
Parameters
- suggestie
Een gedeeltelijk SuggestResult-object, zonder de parameter 'content'.
- terugbellen
functie optioneel
Chroom 100+De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 100+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
onDeleteSuggestion
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
Gebruiker heeft een voorgesteld resultaat verwijderd.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(text: string) => void
- tekst
snaar
onInputCancelled
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
De gebruiker heeft de trefwoordinvoersessie beëindigd zonder de invoer te accepteren.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
De gebruiker heeft gewijzigd wat er in de omnibox is getypt.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(text: string, suggest: function) => void
- tekst
snaar
- voorstellen
functie
De
suggest
ziet er als volgt uit:(suggestResults: SuggestResult[]) => void
- suggereerResultaten
Reeks voorgestelde resultaten
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
De gebruiker heeft geaccepteerd wat er in de omnibox is getypt.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(text: string, disposition: OnInputEnteredDisposition) => void
- tekst
snaar
- karakter
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
De gebruiker heeft een trefwoordinvoersessie gestart door het trefwoord van de extensie te typen. Dit wordt gegarandeerd precies één keer per invoersessie verzonden, en vóór eventuele onInputChanged-gebeurtenissen.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:() => void