omnibox

使扩展能够实现用户在浏览器地址栏输入内容时的自定义行为。

当用户聚焦浏览器地址栏并开始输入时,浏览器会显示一个下拉列表,其中包含根据用户输入内容建议的页面。这为用户提供了一种快速访问(例如,来自历史记录或书签的页面)的方式。

omnibox API 为扩展提供了一种自定义用户输入扩展定义的关键字时下拉列表中显示的建议的方法。其工作原理如下:

  1. 首先,扩展必须在其 manifest.json 文件中包含一个 "omnibox" 键,该键定义了一个关键字。
  2. 当用户聚焦地址栏并输入关键字后跟一个空格时,扩展会收到一个 omnibox.onInputStarted 事件。
  3. 可选地,扩展可以调用 omnibox.setDefaultSuggestion() 来定义地址栏下拉列表中显示的第一个建议。
  4. 随着用户继续输入字符,扩展会收到 omnibox.onInputChanged 事件。事件监听器会接收用户输入的文本,并可以用建议填充地址栏下拉列表。如果扩展使用 omnibox.setDefaultSuggestion() 设置了默认建议,则该建议会首先显示在下拉列表中。
  5. 如果用户接受了某个建议,扩展会收到一个 omnibox.onInputEntered 事件。事件监听器会接收被接受的建议。
  6. 如果用户删除了一个建议,扩展会收到一个 omnibox.onDeleteSuggestion 事件。
  7. 如果用户关闭了下拉列表,扩展会收到一个 omnibox.onInputCancelled 事件。

类型

omnibox.OnInputEnteredDisposition

描述了处理选定建议的推荐方法:在当前标签页中打开、在新前台标签页中打开或在新后台标签页中打开。

omnibox.SuggestResult

表示要添加到地址栏下拉列表中的建议的对象。

函数

omnibox.setDefaultSuggestion()

定义当用户输入您的扩展的关键字后跟一个空格时,在下拉列表中显示的第一个建议。

事件

omnibox.onDeleteSuggestion

当用户删除建议时触发。

omnibox.onInputStarted

当用户聚焦地址栏并输入您的扩展的 omnibox 关键字后跟一个空格时触发。

omnibox.onInputChanged

当用户聚焦地址栏并输入您的扩展的关键字后跟一个空格后,用户的输入发生变化时触发。

omnibox.onInputEntered

当用户接受您的扩展的建议之一时触发。

omnibox.onInputCancelled

当用户聚焦地址栏并输入您的扩展的关键字后跟一个空格后,关闭地址栏下拉列表时触发。

扩展程序示例

浏览器兼容性

注意:此 API 基于 Chromium 的 chrome.omnibox API。