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,
): 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”.
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