chrome.omnibox

Opis

Interfejs API omniboksu pozwala zarejestrować słowo kluczowe za pomocą paska adresu Google Chrome, nazywanego też omniboksem.

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

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

Chrome 44 i nowsze wersje

Typ stylu.

Enum

"url"

"match"

OnInputEnteredDisposition

Chrome 44 i nowsze wersje

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 nowszych

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

Obietnica
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

  • Częściowy obiekt suggestResult bez parametru „content”.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Chrome 100 i nowsze wersje

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 100 i nowsze wersje

    Obietnice 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 w wersji 63 i nowszych
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

onInputEntered

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

Użytkownik zaakceptował tekst wpisywany w omniboksie.

Parametry

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