chrome.omnibox

Beschreibung

Mit der Omnibox API können Sie Keywords in der Adressleiste von Google Chrome, auch Omnibox genannt, registrieren.

Screenshot mit Vorschlägen zum Suchbegriff „Chromium-Suche“

Sobald der Nutzer das Keyword für Ihre Erweiterung eingibt, interagiert er nur mit Ihrer . Jeder Tastenanschlag wird an Ihre Erweiterung gesendet und Sie können als Antwort Vorschläge machen.

Die Vorschläge können auf unterschiedliche Weise formatiert werden. Wenn der Nutzer einen Vorschlag annimmt, wird Ihre 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"

Sie müssen das Feld "omnibox.keyword" in das Manifest einfügen, um die Omnibox API zu verwenden. Ich sollte auch ein 16 x 16 Pixel großes Symbol enthalten, das in der Adressleiste beim Vorschlagen von damit Nutzer in den Keyword-Modus wechseln.

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

Um diese API auszuprobieren, installieren Sie das Omnibox-API-Beispiel aus den chrome-extension-samples. zu erstellen.

Typen

DefaultSuggestResult

Ein Vorschlagsergebnis.

Attribute

  • Beschreibung

    String

    Der Text, der im Drop-down-Menü „URL“ angezeigt wird. Kann Markups im XML-Stil für Stile enthalten. Folgende Tags werden unterstützt: "url" (für eine literale URL), „match“ (zum Hervorheben von Text, der der Suchanfrage des Nutzers entspricht) und „dim“ (für das Abdunkeln von Hilfstext). Die Stile können geschachtelt sein, z. B. abgeblendet.

DescriptionStyleType

Chrome (ab Version 44)

Der Stiltyp.

Enum

"url"

"match"

"dim"

OnInputEnteredDisposition

Chrome (ab Version 44)

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

Enum

"currentTab"

„neuer VordergrundTab“

"newBackgroundTab"

SuggestResult

Ein Vorschlagsergebnis.

Attribute

  • Inhalt

    String

    Der Text, der in die URL-Leiste eingetragen wird 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 Markups im XML-Stil für Stile enthalten. Folgende Tags werden unterstützt: "url" (für eine literale URL), „match“ (zum Hervorheben von Text, der der Suchanfrage des Nutzers entspricht) und „dim“ (für das Abdunkeln von Hilfstext). Die Stile können geschachtelt sein, z. B. abgeblendet. Sie müssen die fünf vordefinierten Entitäten mit einem Escapezeichen versehen, um sie als Text anzuzeigen: stackoverflow.com/a/1091953/89484

Methoden

setDefaultSuggestion()

<ph type="x-smartling-placeholder"></ph> 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 Vorschlagszeile unter der URL-Leiste angezeigt wird.

Parameter

  • Ein partielles SuggestResult-Objekt ohne „content“ .

  • callback

    Funktion optional

    Chrome 100 und höher

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 100 und höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

Ereignisse

onDeleteSuggestion

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

Der Nutzer hat ein vorgeschlagenes Ergebnis gelöscht.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (text: string) => void

    • Text

      String

onInputCancelled

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

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

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

onInputChanged

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

Der Nutzer hat geändert, was in die Omnibox eingegeben wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

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

    • Text

      String

    • suggest

      Funktion

      Der Parameter suggest sieht so aus: <ph type="x-smartling-placeholder"></ph>

      (suggestResults: SuggestResult[]) => void

onInputEntered

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

Der Nutzer hat die Eingabe in die Omnibox akzeptiert.

Parameter

onInputStarted

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

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

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void