Beschrijving
Met de omnibox-API kun je een zoekwoord registreren in de adresbalk van Google Chrome, ook wel de omnibox genoemd.

Als de gebruiker het zoekwoord van je extensie invoert, heeft de gebruiker alleen interactie met je extensie. Elke toetsaanslag wordt naar je extensie gestuurd en je kunt suggesties geven als reactie.
De suggesties kunnen op verschillende manieren worden opgemaakt. Als de gebruiker een suggestie accepteert, krijgt je extensie een melding en kan deze actie ondernemen.
Manifest
Je moet een "omnibox.keyword"-veld opnemen in het manifest om de omnibox-API te gebruiken. Je moet ook een icoon van 16 bij 16 pixels opgeven. Dit wordt getoond in de adresbalk als je gebruikers voorstelt de zoekwoordmodus te openen.
Voorbeeld:
{
"name": "Aaron's omnibox extension",
"version": "1.0",
"omnibox": { "keyword" : "aaron" },
"icons": {
"16": "16-full-color.png"
},
"background": {
"persistent": false,
"scripts": ["background.js"]
}
}
Voorbeelden
Als je deze API wilt proberen, installeer je het voorbeeld van de omnibox API uit de repository chrome-extension-samples.
Typen
DefaultSuggestResult
Een voorgesteld resultaat.
Eigenschappen
-
beschrijving
tekenreeks
De tekst die wordt getoond in het dropdownmenu URL. Kan opmaak in XML-stijl bevatten voor de stijl. 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 gedimde hulptekst). De stijlen kunnen worden genest, bijvoorbeeld een gedimde overeenkomst.
DescriptionStyleType
Het stijltype.
Enum
"url"
"match"
"dim"
OnInputEnteredDisposition
De vensterindeling voor de omnibox-query. Dit is de aanbevolen context om resultaten te tonen. Als de opdracht in de omnibox bijvoorbeeld is om naar een bepaalde URL te gaan, betekent de indeling 'newForegroundTab' dat de navigatie moet plaatsvinden op een nieuw geselecteerd tabblad.
Enum
"currentTab"
"newForegroundTab"
"newBackgroundTab"
SuggestResult
Een voorgesteld resultaat.
Eigenschappen
-
content
tekenreeks
De tekst die in de URL-balk wordt geplaatst en die naar de extensie wordt gestuurd als de gebruiker dit item kiest.
-
verwijderbaar
booleaans optioneel
Chrome 63+ browser.* sinds Chrome 148Of het voorgestelde resultaat kan worden verwijderd door de gebruiker.
-
beschrijving
tekenreeks
De tekst die wordt getoond in het dropdownmenu URL. Kan opmaak in XML-stijl bevatten voor de stijl. 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 gedimde hulptekst). De stijlen kunnen worden genest, bijvoorbeeld een gedimde overeenkomst. Je moet de 5 vooraf gedefinieerde entiteiten escapen om ze als tekst weer te geven: stackoverflow.com/a/1091953/89484
Methoden
setDefaultSuggestion()
browser.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
): Promise<void>
Hiermee stel je de beschrijving en stijl in voor de standaardsuggestie. De standaardsuggestie is de tekst die wordt getoond in de eerste suggestierij onder de URL-balk.
Parameters
-
suggestie
Een gedeeltelijk SuggestResult-object, zonder de parameter 'content'.
Retourzendingen
-
Promise<void>
Chrome 100+ browser.* sinds Chrome 148
Evenementen
onDeleteSuggestion
browser.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
De gebruiker heeft een voorgesteld resultaat verwijderd.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(text: string) => void
-
tekst
tekenreeks
-
onInputCancelled
browser.omnibox.onInputCancelled.addListener(
callback: function,
)
De gebruiker heeft de sessie voor zoekwoordinvoer beëindigd zonder de invoer te accepteren.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:() => void
onInputChanged
browser.omnibox.onInputChanged.addListener(
callback: function,
)
De gebruiker heeft gewijzigd wat er in de omnibox is getypt.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(text: string, suggest: function) => void
-
tekst
tekenreeks
-
suggest
functie
De parameter
suggestziet er zo uit:(suggestResults: SuggestResult[]) => void
-
suggestResults
Matrix van suggestieresultaten
-
-
onInputEntered
browser.omnibox.onInputEntered.addListener(
callback: function,
)
De gebruiker heeft geaccepteerd wat er in de omnibox is getypt.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(text: string, disposition: OnInputEnteredDisposition) => void
-
tekst
tekenreeks
-
disposition
-
onInputStarted
browser.omnibox.onInputStarted.addListener(
callback: function,
)
De gebruiker is een sessie voor zoekwoordinvoer gestart door het zoekwoord van de extensie te typen. Deze wordt gegarandeerd precies één keer per invoersessie gestuurd en vóór onInputChanged-gebeurtenissen.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:() => void