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

ユーザーが拡張機能のキーワードを入力すると、ユーザーは拡張機能のみを操作するようになります。各キーストロークが拡張機能に送信され、それに応じて候補を提供できます。
候補は、さまざまな方法でリッチな形式に設定できます。ユーザーが候補を受け入れると、拡張機能に通知が届き、アクションを実行できます。
マニフェスト
omnibox API を使用するには、マニフェストに "omnibox.keyword" フィールドを含める必要があります。また、16×16 ピクセルのアイコンも指定する必要があります。このアイコンは、ユーザーにキーワード モードへの切り替えを提案するときにアドレスバーに表示されます。
次に例を示します。
{
"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
スタイルの種類。
列挙型
"url"
"match"
"dim"
OnInputEnteredDisposition
アドレスバーのクエリのウィンドウ処理。これは、結果を表示する際におすすめのコンテキストです。たとえば、アドレスバー コマンドが特定の URL に移動する場合、'newForegroundTab' の配置は、移動が新しい選択されたタブで行われることを意味します。
列挙型
"currentTab"
"newForegroundTab"
"newBackgroundTab"
SuggestResult
候補の結果。
プロパティ
-
コンテンツ
文字列
URL バーに入力され、ユーザーがこのエントリを選択したときに拡張機能に送信されるテキスト。
-
削除可能
boolean 省略可
Chrome 63 以降 Chrome 148 以降の browser.*ユーザーが候補の結果を削除できるかどうか。
-
説明
文字列
URL プルダウンに表示されるテキスト。スタイル設定用の XML 形式のマークアップを含めることができます。サポートされているタグは、「url」(リテラル URL 用)、「match」(ユーザーのクエリに一致したテキストをハイライト表示するため)、「dim」(薄暗いヘルパー テキスト用)です。スタイルはネストできます(例: 減光された一致)。5 つの事前定義エンティティをテキストとして表示するには、エスケープする必要があります。stackoverflow.com/a/1091953/89484
メソッド
setDefaultSuggestion()
browser.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
): Promise<void>
デフォルトの候補の説明とスタイルを設定します。デフォルトの候補は、URL バーの下の最初の候補行に表示されるテキストです。
パラメータ
-
「content」パラメータのない部分的な SuggestResult オブジェクト。
戻り値
-
Promise<void>
Chrome 100 以降 Chrome 148 以降の browser.*
イベント
onDeleteSuggestion
browser.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
ユーザーが検索結果の候補を削除しました。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(text: string) => void
-
テキスト
文字列
-
onInputCancelled
browser.omnibox.onInputCancelled.addListener(
callback: function,
)
ユーザーが、入力を受け入れずにキーワード入力セッションを終了しました。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。() => void
onInputChanged
browser.omnibox.onInputChanged.addListener(
callback: function,
)
ユーザーがアドレスバーに入力した内容を変更しました。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(text: string, suggest: function) => void
-
テキスト
文字列
-
suggest
関数
suggestパラメータは次のようになります。(suggestResults: SuggestResult[]) => void
-
suggestResults
提案結果の配列
-
-
onInputEntered
browser.omnibox.onInputEntered.addListener(
callback: function,
)
ユーザーがアドレスバーに入力された内容を承認しました。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(text: string, disposition: OnInputEnteredDisposition) => void
-
テキスト
文字列
-
disposition
-
onInputStarted
browser.omnibox.onInputStarted.addListener(
callback: function,
)
ユーザーが拡張機能のキーワードを入力して、キーワード入力セッションを開始しました。このイベントは、入力セッションごとに 1 回だけ、onInputChanged イベントの前に送信されます。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。() => void