Opis
Interfejs API omniboksu umożliwia zarejestrowanie słowa kluczowego na pasku adresu Google Chrome, zwanym także omniboksem.
Gdy użytkownik wpisze słowo kluczowe rozszerzenia, rozpocznie interakcję tylko z Twoją . Każda naciśnięcie klawisza jest wysyłane do rozszerzenia i możesz na nie odpowiadać.
Sugestie można formatować na wiele sposobów. Gdy użytkownik zaakceptuje sugestię, rozszerzenie zostanie powiadomione i będzie mogło podjąć działanie.
Plik manifestu
Aby używać interfejsu API omniboksu, musisz w manifeście umieścić pole "omnibox.keyword"
. Ty
należy również określić ikonę o wymiarach 16 na 16 pikseli, która będzie wyświetlana na pasku adresu przy sugerowaniu
włącz tryb słów kluczowych.
Na przykład:
{
"name": "Aaron's omnibox extension",
"version": "1.0",
"omnibox": { "keyword" : "aaron" },
"icons": {
"16": "16-full-color.png"
},
"background": {
"persistent": false,
"scripts": ["background.js"]
}
}
Przykłady
Aby wypróbować ten interfejs API, zainstaluj przykładowy interfejs API omniboksu ze strony chrome-extension-samples z repozytorium.
Typy
DefaultSuggestResult
Sugerowany wynik.
Właściwości
-
opis
ciąg znaków
Tekst wyświetlany w menu adresu URL. Może zawierać znaczniki stylu XML służące do określania stylu. Obsługiwane tagi to „url” (w przypadku literału adresu URL), „match” (do wyróżniania tekstu pasującego do zapytania użytkownika) oraz opcji „przyciemnij” (aby przyciemnić tekst pomocniczy). Style mogą być zagnieżdżone, np. przyciemnione dopasowanie.
DescriptionStyleType
Typ stylu.
Typ wyliczeniowy
"url"
"match"
"dim"
OnInputEnteredDisposition
Położenie okna zapytania w omniboksie. Jest to zalecany kontekst do wyświetlania wyników. Jeśli na przykład polecenie w omniboksie ma na celu przejście do określonego adresu URL, polecenie „newForegroundTab” oznacza, że nawigacja powinna odbywać się na nowej wybranej karcie.
Typ wyliczeniowy
"currentTab"
"newForegroundTab"
"newBackgroundTab"
SuggestResult
Sugerowany wynik.
Właściwości
-
treść
ciąg znaków
Tekst umieszczany na pasku adresu URL, który jest wysyłany do rozszerzenia, gdy użytkownik wybierze ten wpis.
-
możliwe do usunięcia
Wartość logiczna opcjonalna
Chrome w wersji 63 lub nowszej .Określa, czy użytkownik może usunąć sugerowany wynik.
-
opis
ciąg znaków
Tekst wyświetlany w menu adresu URL. Może zawierać znaczniki stylu XML służące do określania stylu. Obsługiwane tagi to „url” (w przypadku literału adresu URL), „match” (do wyróżniania tekstu pasującego do zapytania użytkownika) oraz opcji „przyciemnij” (aby przyciemnić tekst pomocniczy). Style mogą być zagnieżdżone, np. przyciemnione dopasowanie. Musisz zmienić znaczenie pięciu wstępnie zdefiniowanych jednostek, aby wyświetlić je jako tekst: stackoverflow.com/a/1091953/89484
Metody
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
)
Określa opis i styl sugestii domyślnej. Domyślna sugestia to tekst wyświetlany w pierwszym wierszu sugestii pod paskiem adresu URL.
Parametry
-
sugestia
Częściowy obiekt suggestResult bez elementu „content” .
-
wywołanie zwrotne
funkcja optional
Chrome w wersji 100 lub nowszej .Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome w wersji 100 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
Wydarzenia
onDeleteSuggestion
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
Użytkownik usunął sugerowany wynik.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(text: string) => void
-
tekst
ciąg znaków
-
onInputCancelled
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
Użytkownik zakończył sesję wprowadzania słów kluczowych bez zaakceptowania danych wejściowych.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
Użytkownik zmienił tekst, który wpisujesz w omniboksie.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(text: string, suggest: function) => void
-
tekst
ciąg znaków
-
zasugeruj
funkcja
Parametr
suggest
wygląda tak:(suggestResults: SuggestResult[]) => void
-
suggestResults
Tablica sugestii
-
-
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
Użytkownik zaakceptował tekst wpisany w omniboksie.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(text: string, disposition: OnInputEnteredDisposition) => void
-
tekst
ciąg znaków
-
dyspozycja
-
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
Użytkownik rozpoczął sesję wprowadzania słowa kluczowego, wpisując słowo kluczowe rozszerzenia. Gwarantujemy wysłanie go dokładnie raz na sesję wprowadzania i przed zdarzeniami onInputChanged.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void