説明
アドレスバー API を使用すると、Google Chrome のアドレスバー(アドレスバーとも呼ばれます)にキーワードを登録できます。
ユーザーが拡張機能のキーワードを入力すると、その拡張機能のみの操作が開始されます。キー入力が 1 回ずつ拡張機能に送信され、それに応じて候補を提示できます。
候補は、さまざまな方法で豊富な形式で表示できます。ユーザーが提案を承認すると、拡張機能に通知が送信され、アクションが実行できるようになります。
マニフェスト
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 リポジトリからアドレスバーのサンプル API をインストールしてください。
型
DefaultSuggestResult
候補の結果。
プロパティ
-
description
文字列
URL プルダウンに表示されるテキスト。スタイル設定の XML スタイルのマークアップを含めることができます。サポートされているタグは、「url」(リテラル URL の場合)、「match」(ユーザーのクエリに一致するテキストをハイライト表示する)、および「dim」(ディメンション ヘルパー テキスト)です。スタイルはネストできます(例: グレー表示)。
DescriptionStyleType
スタイル タイプ。
Enum
"url"
"match"
OnInputEnteredDisposition
アドレスバー クエリのウィンドウ処理。これは、結果を表示する場合に推奨されるコンテキストです。たとえば、アドレスバーのコマンドで特定の URL に移動する場合、「newForegroundTab」の処理は、選択された新しいタブでナビゲーションを行う必要があることを意味します。
Enum
SuggestResult
候補の結果。
プロパティ
-
を積極的に紹介
文字列
URL バーに入力されるテキスト。ユーザーがこのエントリを選択すると、拡張機能に送信されます。
-
削除可能
ブール値(省略可)
Chrome 63 以降ユーザーが候補の結果を削除できるかどうか。
-
description
文字列
URL プルダウンに表示されるテキスト。スタイル設定の XML スタイルのマークアップを含めることができます。サポートされているタグは、「url」(リテラル URL の場合)、「match」(ユーザーのクエリに一致するテキストをハイライト表示する)、および「dim」(ディメンション ヘルパー テキスト)です。スタイルはネストできます(例: グレー表示)。事前定義された 5 つのエンティティをテキストとして表示するには、エスケープする必要があります。stackoverflow.com/a/1091953/89484
Methods
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
)
デフォルトの候補の説明とスタイルを設定します。デフォルトの候補は、URL バーの下の最初の候補行に表示されるテキストです。
パラメータ
-
候補; 提案; サジェスチョン(#など適宜文脈に応じて)
「content」パラメータのない、部分的な SuggestedResult オブジェクト。
-
callback
関数(省略可)
Chrome 100 以降callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 100 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
イベント
onDeleteSuggestion
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
-
suggestResults
候補の結果の配列
-
-
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
ユーザーがアドレスバーへの入力内容に同意しました。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(text: string, disposition: OnInputEnteredDisposition) => void
-
指定しています
文字列
-
disposition
-
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
ユーザーが拡張機能のキーワードを入力して、キーワード入力セッションを開始しました。これは、入力セッションごとに 1 回だけ、onInputChanged イベントの前に送信されることが保証されます。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。() => void