chrome.omnibox

Opis

Interfejs API omniboksu umożliwia zarejestrowanie słowa kluczowego na pasku adresu Google Chrome, który jest też nazywany omniboksem.

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

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 tego interfejsu API, musisz zadeklarować te klucze w pliku manifestu.

"omnibox"

Aby korzystać z interfejsu API paska adresu, musisz umieścić pole "omnibox.keyword"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

Chrome 44 lub nowszy

Typ stylu.

Typ wyliczeniowy

"url"

„match”

„dim”

OnInputEnteredDisposition

Chrome 44 lub nowszy

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 nowszej

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

Obietnica
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

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

  • callback

    funkcja opcjonalna

    Chrome 100 lub nowsza

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 100 lub nowsza

Wydarzenia

onDeleteSuggestion

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

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ę 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