chrome.omnibox

更新日: 2026-09-25 robots: noindex

説明

Omnibox API を使用すると、Google Chrome のアドレスバー(オムニボックスとも呼ばれます)にキーワードを登録できます。

キーワード「Chromium 検索」に関連する候補を示すスクリーンショット

ユーザーが拡張機能のキーワードを入力すると、ユーザーは拡張機能のみを操作するようになります。各キーストロークが拡張機能に送信され、それに応じて候補を提供できます。

候補は、さまざまな方法でリッチな形式に設定できます。ユーザーが候補を受け入れると、拡張機能に通知が届き、アクションを実行できます。

マニフェスト

omnibox API を使用するには、マニフェストに omnibox keyword フィールドを含める必要があります。また、16x16 ピクセルのアイコンも指定する必要があります。このアイコンは、ユーザーにキーワード モードへの切り替えを提案するときにアドレスバーに表示されます。

次に例を示します。

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

例

この API を試すには、chrome-extension-samples リポジトリから omnibox API の例をインストールします。

型

DefaultSuggestResult

候補の結果。

プロパティ

  • description

    文字列

    URL プルダウンに表示されるテキスト。スタイル設定用の XML 形式のマークアップを含めることができます。サポートされているタグは、「url」(リテラル URL 用)、「match」(ユーザーのクエリに一致したテキストをハイライト表示するため)、「dim」(薄暗いヘルパー テキスト用)です。スタイルはネストできます(例: 減光された一致)。

DescriptionStyleType

Chrome 44 以降

スタイルの種類。

列挙型

"url"

"match"

"dim"

OnInputEnteredDisposition

Chrome 44 以降

アドレスバーのクエリのウィンドウ処理。これは、結果を表示する際におすすめのコンテキストです。たとえば、アドレスバー コマンドが特定の URL に移動する場合、'newForegroundTab' の配置は、移動が新しい選択されたタブで行われることを意味します。

列挙型

"currentTab"

"newForegroundTab"

"newBackgroundTab"

SuggestResult

候補の結果。

プロパティ

  • コンテンツ

    文字列

    URL バーに入力され、ユーザーがこのエントリを選択したときに拡張機能に送信されるテキスト。

  • 削除可能

    boolean 省略可

    Chrome 63 以降

    ユーザーが候補の結果を削除できるかどうか。

  • 説明

    文字列

    URL プルダウンに表示されるテキスト。スタイル設定用の XML 形式のマークアップを含めることができます。サポートされているタグは、「url」(リテラル URL 用)、「match」(ユーザーのクエリに一致したテキストをハイライト表示するため)、「dim」(薄暗いヘルパー テキスト用)です。スタイルはネストできます(例: 減光された一致)。5 つの事前定義エンティティをテキストとして表示するには、エスケープする必要があります。stackoverflow.com/a/1091953/89484

メソッド

setDefaultSuggestion()

Promise
chrome.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
  callback?: function,
)
: Promise<void>

デフォルトの候補の説明とスタイルを設定します。デフォルトの候補は、URL バーの下の最初の候補行に表示されるテキストです。

パラメータ

  • 「content」パラメータのない部分的な SuggestResult オブジェクト。

  • callback

    function 省略可

    Chrome 100 以降

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 100 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

イベント

onDeleteSuggestion

Chrome 63 以降
chrome.omnibox.onDeleteSuggestion.addListener(
  callback: function,
)

ユーザーが検索結果の候補を削除しました。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (text: string) => void

    • テキスト

      文字列

onInputCancelled

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

ユーザーが、入力を受け入れずにキーワード入力セッションを終了しました。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    () => void

onInputChanged

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

ユーザーがアドレスバーに入力した内容を変更しました。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

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

    • テキスト

      文字列

    • suggest

      関数

      suggest パラメータは次のようになります。

      (suggestResults: SuggestResult[]) => void

onInputEntered

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

ユーザーがアドレスバーに入力された内容を承認しました。

パラメータ

onInputStarted

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

ユーザーが拡張機能のキーワードを入力して、キーワード入力セッションを開始しました。このイベントは、入力セッションごとに 1 回だけ、onInputChanged イベントの前に送信されます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    () => void