Opis
Interfejs API omniboksu pozwala zarejestrować słowo kluczowe za pomocą paska adresu Google Chrome, nazywanego też omniboksem.
Gdy użytkownik wpisze słowo kluczowe z rozszerzenia, zacznie on wchodzić w interakcję wyłącznie z rozszerzeniem. Każda kombinacja klawiszy jest wysyłana do rozszerzenia i w odpowiedzi możesz wyświetlać sugestie.
Sugestie można formatować na wiele sposobów. Gdy użytkownik zaakceptuje sugestię, rozszerzenie dostanie powiadomienie i będzie mogło podjąć działanie.
Plik manifestu
Aby można było używać tego interfejsu API, następujące klucze muszą być zadeklarowane w pliku manifestu.
"omnibox"
Aby korzystać z interfejsu API omniboksu, musisz w pliku manifestu umieścić pole "omnibox.keyword"
. Należy również określić ikonę o wymiarach 16 x 16 pikseli, która będzie wyświetlana na pasku adresu, gdy sugerujemy użytkownikowi włączenie trybu 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 go wypróbować, zainstaluj przykładowy interfejs API omniboksu z repozytorium chrome-extension-samples.
Typy
DefaultSuggestResult
Wynik sugestii.
Właściwości
-
opis
string,
Tekst wyświetlany na liście adresów URL. Może zawierać znaczniki XML określające styl. Obsługiwane tagi to „url” (dosłowny adres URL), „match” (do podświetlania tekstu pasującego do zapytania użytkownika) i „dim” (dla przyciemnionego tekstu pomocniczego). Style mogą być zagnieżdżone, np. przyciemnione dopasowanie.
DescriptionStyleType
Typ stylu.
Enum
"url"
"match"
OnInputEnteredDisposition
Ustawienie okna dla zapytania w omniboksie. Jest to zalecany kontekst do wyświetlania wyników. Jeśli na przykład polecenie w omniboksie służy do przejścia do konkretnego adresu URL, ustawienie „newForegroundTab” oznacza, że nawigacja powinna odbywać się na nowej wybranej karcie.
Enum
"currentTab"
SuggestResult
Wynik sugestii.
Właściwości
-
treści, które są
string,
Tekst umieszczony na pasku adresu URL wysyłany do rozszerzenia po kliknięciu tego wpisu przez użytkownika.
-
możliwy do usunięcia
wartość logiczna opcjonalna
Chrome w wersji 63 i nowszychCzy użytkownik może usunąć wynik sugestii.
-
opis
string,
Tekst wyświetlany na liście adresów URL. Może zawierać znaczniki XML określające styl. Obsługiwane tagi to „url” (dosłowny adres URL), „match” (do podświetlania tekstu pasującego do zapytania użytkownika) i „dim” (dla przyciemnionego tekstu pomocniczego). Style mogą być zagnieżdżone, np. przyciemnione dopasowanie. Musisz ominąć pięć wstępnie zdefiniowanych elementów, aby wyświetlić je jako tekst: stackoverflow.com/a/1091953/89484
Metody
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
)
Ustawia opis i styl domyślnej sugestii. Sugestia domyślna to tekst widoczny w pierwszym wierszu sugestii pod paskiem adresu URL.
Parametry
-
sugestia
Częściowy obiekt suggestResult bez parametru „content”.
-
wywołanie zwrotne
funkcja opcjonalnie
Chrome 100 i nowsze wersjeParametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 100 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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
-
plik tekstowy,
string,
-
onInputCancelled
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
Użytkownik zakończył sesję wpisania słowa kluczowego bez zaakceptowania wpisanego słowa.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
Użytkownik zmienił to, co jest wpisane w omniboksie.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(text: string, suggest: function) => void
-
plik tekstowy,
string,
-
sugerować
funkcja
Parametr
suggest
wygląda tak:(suggestResults: SuggestResult[]) => void
-
suggestResults
Tablica wyników sugestii
-
-
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
Użytkownik zaakceptował tekst wpisywany w omniboksie.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(text: string, disposition: OnInputEnteredDisposition) => void
-
plik tekstowy,
string,
-
dyspozycja
-
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
Użytkownik rozpoczął sesję wpisywania słowa kluczowego, wpisując słowo kluczowe rozszerzenia. Gwarantujemy, że zostanie ono wysłane dokładnie raz na sesję wejściową i przed wszelkimi zdarzeniami onInputChanged.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void