chrome.omnibox

Opis

Interfejs API omniboksu umożliwia zarejestrowanie słowa kluczowego na pasku adresu Google Chrome, zwanym także omniboksem.

Zrzut ekranu przedstawiający sugestie związane ze słowem kluczowym „Wyszukiwanie w Chromium”

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 powinien również określić ikonę o wymiarach 16 x 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

Chrome w wersji 44 lub nowszej .

Typ stylu.

Typ wyliczeniowy

"url"

"match"

"dim"

OnInputEnteredDisposition

Chrome w wersji 44 lub nowszej .

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()

Obietnica .
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

  • 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 tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

Wydarzenia

onDeleteSuggestion

Chrome w wersji 63 lub nowszej .
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

onInputEntered

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

Użytkownik zaakceptował tekst wpisany w omniboksie.

Parametry

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