browser.omnibox

Beschrijving

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

Een screenshot met suggesties die gerelateerd zijn aan het zoekwoord 'Chromium Search'

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

De volgende sleutels moeten in het manifest worden gedefinieerd om deze API te gebruiken.

"omnibox"

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

Chrome 44+ browser.* sinds Chrome 148

Het stijltype.

Enum

"url"

"match"

"dim"

OnInputEnteredDisposition

Chrome 44+ browser.* sinds Chrome 148

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 148

    Of 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

  • Een gedeeltelijk SuggestResult-object, zonder de parameter 'content'.

Retourzendingen

  • Promise<void>

    Chrome 100+ browser.* sinds Chrome 148

Evenementen

onDeleteSuggestion

Chrome 63+ browser.* sinds Chrome 148
browser.omnibox.onDeleteSuggestion.addListener(
  callback: function,
)

De gebruiker heeft een voorgesteld resultaat verwijderd.

Parameters

  • callback

    functie

    De parameter callback ziet 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 callback ziet 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 callback ziet er zo uit:

    (text: string, suggest: function) => void

    • tekst

      tekenreeks

    • suggest

      functie

      De parameter suggest ziet er zo uit:

      (suggestResults: SuggestResult[]) => void

onInputEntered

browser.omnibox.onInputEntered.addListener(
  callback: function,
)

De gebruiker heeft geaccepteerd wat er in de omnibox is getypt.

Parameters

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 callback ziet er zo uit:

    () => void