Opis
Interfejs API omniboksu umożliwia zarejestrowanie słowa kluczowego na pasku adresu Google Chrome, który jest też nazywany omniboksem.
Gdy użytkownik wpisze słowo kluczowe rozszerzenia, zacznie wchodzić w interakcję wyłącznie z Twoim rozszerzeniem. Każde naciśnięcie klawisza jest wysyłane do rozszerzenia, a Ty możesz w odpowiedzi podać sugestie.
Sugestie mogą być bogato sformatowane na wiele różnych sposobów. Gdy użytkownik zaakceptuje sugestię, rozszerzenie otrzyma powiadomienie i może podjąć działanie.
Plik manifestu
Aby korzystać z interfejsu API paska adresu, musisz umieścić pole "omnibox.keyword"
w pliku manifestu. Należy też podać ikonę o wymiarach 16 x 16 pikseli, która będzie wyświetlana na pasku adresu podczas sugerowania użytkownikom przejścia do 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 wypróbować ten interfejs API, zainstaluj przykład interfejsu API paska adresu z repozytorium chrome-extension-samples.
Typy
DefaultSuggestResult
Sugerowany wynik.
Właściwości
-
opis
ciąg znaków
Tekst wyświetlany w menu URL. Może zawierać znaczniki w stylu XML do formatowania. Obsługiwane tagi to „url” (dla dosłownego adresu URL), „match” (do wyróżniania tekstu, który pasuje do zapytania użytkownika) i „dim” (do przyciemniania tekstu pomocniczego). Style można zagnieżdżać, np. przyciemnione dopasowanie.
DescriptionStyleType
Typ stylu.
Typ wyliczeniowy
"url"
„match”
„dim”
OnInputEnteredDisposition
Sposób wyświetlania okna zapytania w omniboksie. Jest to zalecany kontekst wyświetlania wyników. Jeśli na przykład polecenie w omniboksie dotyczy przejścia do określonego adresu URL, wartość „newForegroundTab” oznacza, że nawigacja powinna odbywać się w nowej, wybranej karcie.
Typ wyliczeniowy
„currentTab”
"newForegroundTab"
"newBackgroundTab"
SuggestResult
Sugerowany wynik.
Właściwości
-
treść
ciąg znaków
Tekst, który jest wpisywany na pasku adresu i wysyłany do rozszerzenia, gdy użytkownik wybierze ten wpis.
-
można usunąć,
wartość logiczna opcjonalna
Chrome w wersji 63 lub nowszejCzy użytkownik może usunąć sugerowany wynik.
-
opis
ciąg znaków
Tekst wyświetlany w menu URL. Może zawierać znaczniki w stylu XML do formatowania. Obsługiwane tagi to „url” (dla dosłownego adresu URL), „match” (do wyróżniania tekstu, który pasuje do zapytania użytkownika) i „dim” (do przyciemniania tekstu pomocniczego). Style można zagnieżdżać, np. przyciemnione dopasowanie. Aby wyświetlić 5 wstępnie zdefiniowanych jednostek jako tekst, musisz użyć symboli zmieniających znaczenie: stackoverflow.com/a/1091953/89484
Metody
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
): Promise<void>
Ustawia opis i styl domyślnej sugestii. Domyślna sugestia to tekst wyświetlany w pierwszym wierszu sugestii pod paskiem adresu URL.
Parametry
-
sugestia
Częściowy obiekt SuggestResult bez parametru „content”.
-
callback
funkcja opcjonalna
Chrome 100 lub nowszaParametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 100 lub nowsza
Wydarzenia
onDeleteSuggestion
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
Użytkownik usunął sugerowany wynik.
Parametry
-
callback
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ę wpisywania słów kluczowych bez zaakceptowania wprowadzonych danych.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
Użytkownik zmienił tekst wpisany w omniboksie.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(text: string, suggest: function) => void
-
tekst
ciąg znaków
-
sugerować,
funkcja
Parametr
suggest
wygląda tak:(suggestResults: SuggestResult[]) => void
-
suggestResults
Tablica sugerowanych wyników
-
-
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
Użytkownik zaakceptował tekst wpisany w omniboksie.
Parametry
-
callback
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ę wpisywania słowa kluczowego, wpisując słowo kluczowe rozszerzenia. Zostanie ono wysłane dokładnie raz na sesję wprowadzania danych i przed wszystkimi zdarzeniami onInputChanged.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:() => void