chrome.omnibox

说明

多功能框 API 可让您向 Chrome 浏览器的地址栏(也称为多功能框)注册关键字。

显示与关键字“Chromium 搜索”相关的建议的屏幕截图

当该用户输入您扩展程序中的关键字后,便开始只与您的 。每次按键操作都会发送到您的扩展程序,并且您可以在响应中提供建议。

建议可以采用多种格式以各种格式进行显示。当用户接受建议后 您的扩展程序会收到通知,并可以采取相应措施。

清单

您必须在清单中添加 omnibox keyword 字段,才能使用多功能框 API。您 还应该指定一个 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 安装chrome-extension-samples 存储库

类型

DefaultSuggestResult

建议结果。

属性

  • 说明

    字符串

    网址下拉菜单中显示的文字。可以包含用于样式设置的 XML 样式标记。支持的代码为“url”(对于文字网址),“match”(用于突出显示与用户查询匹配的文字)和“调暗”(针对颜色较暗的帮助文本)。样式可以嵌套,例如:灰暗匹配。

DescriptionStyleType

Chrome 44 及更高版本

样式类型。

枚举

“url”

"匹配"

"调暗"

OnInputEnteredDisposition

Chrome 44 及更高版本

多功能框查询的窗口位置。这是显示结果的推荐上下文。例如,如果使用多功能框命令导航到某个网址,系统就会显示“newForegroundTab”表示导航应在新选择的标签页中进行。

枚举

“currentTab”

“newForegroundTab”

"newBackgroundTab"

SuggestResult

建议结果。

属性

  • 内容

    字符串

    放置在网址栏中的文本,当用户选择此条目时,系统会向扩展程序发送该文本。

  • 可删除

    布尔值(可选)

    Chrome 63 及更高版本

    用户是否可以删除建议结果。

  • 说明

    字符串

    网址下拉菜单中显示的文字。可以包含用于样式设置的 XML 样式标记。支持的代码为“url”(对于文字网址),“match”(用于突出显示与用户查询匹配的文字)和“调暗”(针对颜色较暗的帮助文本)。样式可以嵌套,例如:灰暗匹配。您必须对这五个预定义实体进行转义,才能将其显示为文本:stackoverflow.com/a/1091953/89484

方法

setDefaultSuggestion()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
  callback?: function,
)

设置默认建议的说明和样式。默认建议是网址栏下方第一个建议行中显示的文字。

参数

  • 部分 RecommendationResult 对象,不包含“content”参数。

  • callback

    函数(可选)

    Chrome 浏览器 100 及以上版本

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 浏览器 100 及以上版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

事件

onDeleteSuggestion

Chrome 63 及更高版本
chrome.omnibox.onDeleteSuggestion.addListener(
  callback: function,
)

用户已删除建议的结果。

参数

  • callback

    函数

    callback 参数如下所示:

    (text: string) => void

    • text

      字符串

onInputCancelled

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

用户已结束关键字输入会话,未接受输入内容。

参数

  • callback

    函数

    callback 参数如下所示:

    () => void

onInputChanged

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

用户更改了在多功能框中输入的内容。

参数

  • callback

    函数

    callback 参数如下所示:

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

    • text

      字符串

    • suggest

      函数

      suggest 参数如下所示:

      (suggestResults: SuggestResult[]) => void

onInputEntered

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

用户已接受在多功能框中输入的内容。

参数

onInputStarted

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

用户已通过输入扩展程序的关键字启动了关键字输入会话。这保证了每个输入会话只发送一次,且早于任何 onInputChanged 事件。

参数

  • callback

    函数

    callback 参数如下所示:

    () => void