chrome.omnibox

説明

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

キーワード「Chromium Search」に関連する候補が表示されているスクリーンショット

ユーザーが拡張機能のキーワードを入力すると、その拡張機能のみの操作が開始されます。キー入力が 1 回ずつ拡張機能に送信され、それに応じて候補を提示できます。

候補は、さまざまな方法で豊富な形式で表示できます。ユーザーが提案を承認すると、拡張機能に通知が送信され、アクションが実行できるようになります。

マニフェスト

この API を使用するには、次のキーをマニフェストで宣言する必要があります。

"omnibox"

Omnibox API を使用するには、マニフェスト"omnibox.keyword" フィールドを含める必要があります。また、16 x 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 リポジトリからアドレスバーのサンプル API をインストールしてください。

DefaultSuggestResult

候補の結果。

プロパティ

  • description

    文字列

    URL プルダウンに表示されるテキスト。スタイル設定の XML スタイルのマークアップを含めることができます。サポートされているタグは、「url」(リテラル URL の場合)、「match」(ユーザーのクエリに一致するテキストをハイライト表示する)、および「dim」(ディメンション ヘルパー テキスト)です。スタイルはネストできます(例: グレー表示)。

DescriptionStyleType

Chrome 44 以降

スタイル タイプ。

Enum

"url"

"match"

OnInputEnteredDisposition

Chrome 44 以降

アドレスバー クエリのウィンドウ処理。これは、結果を表示する場合に推奨されるコンテキストです。たとえば、アドレスバーのコマンドで特定の URL に移動する場合、「newForegroundTab」の処理は、選択された新しいタブでナビゲーションを行う必要があることを意味します。

Enum

SuggestResult

候補の結果。

プロパティ

  • を積極的に紹介

    文字列

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

  • 削除可能

    ブール値(省略可)

    Chrome 63 以降

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

  • description

    文字列

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

Methods

setDefaultSuggestion()

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

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

パラメータ

  • 候補; 提案; サジェスチョン(#など適宜文脈に応じて)

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

  • callback

    関数(省略可)

    Chrome 100 以降

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 100 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

イベント

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