chrome.omnibox

Beschreibung

Mit der Omnibox-API können Sie ein Keyword in der Adressleiste von Google Chrome, die auch Omnibox genannt wird, registrieren.

Screenshot mit Vorschlägen zum Suchbegriff „Chromium Search“

Wenn der Nutzer das Keyword Ihrer Erweiterung eingibt, interagiert er ausschließlich mit Ihrer Erweiterung. Jeder Tastenanschlag wird an deine Erweiterung gesendet und du kannst als Antwort Vorschläge machen.

Die Vorschläge können auf unterschiedliche Weise formatiert werden. Wenn der Nutzer einen Vorschlag annimmt, wird die Erweiterung benachrichtigt und kann Maßnahmen ergreifen.

Manifest

Die folgenden Schlüssel müssen im Manifest deklariert werden, um diese API verwenden zu können.

"omnibox"

Damit Sie die Omnibox API verwenden können, müssen Sie in das Manifest das Feld "omnibox.keyword" einfügen. Sie sollten auch ein Symbol mit 16 × 16 Pixel angeben, das in der Adressleiste angezeigt wird, wenn Nutzern vorgeschlagen wird, den Keyword-Modus zu aktivieren.

Beispiel:

{
  "name": "Aaron's omnibox extension",
  "version": "1.0",
  "omnibox": { "keyword" : "aaron" },
  "icons": {
    "16": "16-full-color.png"
  },
  "background": {
    "persistent": false,
    "scripts": ["background.js"]
  }
}

Beispiele

Wenn Sie diese API testen möchten, installieren Sie das Omnibox API-Beispiel aus dem Repository chrome-extension-sample.

Typen

DefaultSuggestResult

Ein vorgeschlagenes Ergebnis

Attribute

  • Beschreibung

    String

    Der Text, der im Drop-down-Menü „URL“ angezeigt wird. Kann Markup im XML-Stil für Stile enthalten. Folgende Tags werden unterstützt: "url" (für eine literale URL), "match" (Hervorhebung von Text, der der Suchanfrage des Nutzers entspricht) und "dim" (für abgedunkelten Hilfstext). Die Stile können verschachtelt werden, z. B. „gedimmte Übereinstimmung“.

DescriptionStyleType

Chrome 44 und höher

Der Stiltyp.

Enum

"url"

OnInputEnteredDisposition

Chrome 44 und höher

Die Fensteranordnung für die Omnibox-Suchanfrage. Dies ist der empfohlene Kontext für die Anzeige von Ergebnissen. Wenn mit dem Omnibox-Befehl beispielsweise zu einer bestimmten URL navigiert werden soll, bedeutet die Anordnung „newForegroundTab“, dass die Navigation in einem neuen ausgewählten Tab erfolgen soll.

Enum

"newBackgroundTab"

SuggestResult

Ein vorgeschlagenes Ergebnis

Attribute

  • Inhalte herausgestellt werden

    String

    Der Text, der in die URL-Leiste eingegeben und an die Erweiterung gesendet wird, wenn der Nutzer diesen Eintrag auswählt.

  • löschbar

    Boolescher Wert optional

    Chrome 63 und höher

    Gibt an, ob das Vorschlagsergebnis vom Nutzer gelöscht werden kann.

  • Beschreibung

    String

    Der Text, der im Drop-down-Menü „URL“ angezeigt wird. Kann Markup im XML-Stil für Stile enthalten. Folgende Tags werden unterstützt: "url" (für eine literale URL), "match" (Hervorhebung von Text, der der Suchanfrage des Nutzers entspricht) und "dim" (für abgedunkelten Hilfstext). Die Stile können verschachtelt werden, z. B. „gedimmte Übereinstimmung“. Sie müssen Escapezeichen für die fünf vordefinierten Entitäten vornehmen, damit sie als Text angezeigt werden: stackoverflow.com/a/1091953/89484

Methoden

setDefaultSuggestion()

Versprechen
chrome.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
  callback?: function,
)

Legt die Beschreibung und den Stil für den Standardvorschlag fest. Der Standardvorschlag ist der Text, der in der ersten Zeile des Vorschlags unterhalb der URL-Leiste angezeigt wird.

Parameters

  • Ein unvollständiges SuggestResult-Objekt ohne den Parameter „content“.

  • callback

    Funktion optional

    Chrome 100 oder höher

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 100 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

Veranstaltungen

onDeleteSuggestion

Chrome 63 und höher
chrome.omnibox.onDeleteSuggestion.addListener(
  callback: function,
)

Der Nutzer hat ein vorgeschlagenes Ergebnis gelöscht.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (text: string)=>void

    • Text

      String

onInputCancelled

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

Der Nutzer hat die Keyword-Eingabesitzung beendet, ohne die Eingabe zu akzeptieren.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    ()=>void

onInputChanged

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

Der Nutzer hat die Eingabe in die Omnibox geändert.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (text: string,suggest: function)=>void

    • Text

      String

    • suggest

      Funktion

      Der Parameter suggest sieht so aus:

      (suggestResults: SuggestResult[])=>void

onInputEntered

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

Der Nutzer hat die Eingabe in die Omnibox akzeptiert.

Parameters

onInputStarted

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

Der Nutzer hat eine Sitzung zur Eingabe von Keywords gestartet, indem er das Keyword der Erweiterung eingegeben hat. Dies wird garantiert genau einmal pro Eingabesitzung und vor jedem onInputChanged-Ereignis gesendet.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    ()=>void