说明
借助多功能框 API,您可以向 Google Chrome 的地址栏(也称为多功能框)注册关键字。

当用户输入扩展程序的关键字后,便开始仅与您的扩展程序互动。每次按键操作都会发送到您的扩展程序,您可以提供建议作为响应。
建议可以采用多种方式进行丰富格式设置。当用户接受建议时,您的扩展程序会收到通知,并可以采取相应行动。
清单
您必须在清单中包含 "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 代码库中安装 omnibox API 示例。
类型
DefaultSuggestResult
建议结果。
属性
- 
    说明字符串 网址下拉菜单中显示的文字。可以包含用于设置样式的 XML 样式标记。支持的标记包括“url”(用于表示字面网址)、“match”(用于突出显示与用户查询匹配的文本)和“dim”(用于表示暗淡的辅助文本)。样式可以嵌套,例如“变暗的匹配项”。 
DescriptionStyleType
样式类型。
枚举
“网址” 
 
“match” 
 
“调暗” 
 
OnInputEnteredDisposition
多功能框查询的窗口处置。这是显示结果的推荐上下文。例如,如果多功能框命令是导航到某个网址,则“newForegroundTab”处置方式表示导航应在新选中的标签页中进行。
枚举
“currentTab” 
 
"newForegroundTab" 
 
"newBackgroundTab" 
 
SuggestResult
建议结果。
属性
- 
    内容字符串 放入网址栏中的文本,当用户选择此条目时,该文本会发送给扩展程序。 
- 
    可删除布尔值(可选) Chrome 63 及更高版本建议结果是否可由用户删除。 
- 
    说明字符串 网址下拉菜单中显示的文字。可以包含用于设置样式的 XML 样式标记。支持的标记包括“url”(用于表示字面网址)、“match”(用于突出显示与用户查询匹配的文本)和“dim”(用于表示暗淡的辅助文本)。样式可以嵌套,例如,调暗的匹配项。您必须转义这五个预定义实体,才能将其显示为文本:stackoverflow.com/a/1091953/89484 
方法
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
): Promise<void>
为默认建议设置说明和样式。默认建议是指显示在网址栏下方的第一个建议行中的文字。
参数
- 
    不含“content”参数的部分 SuggestResult 对象。 
返回
- 
            Promise<void> Chrome 100 及更高版本
事件
onDeleteSuggestion
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 - 
    suggestResults建议结果数组 
 
- 
    
 
- 
    
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
用户已接受在多功能框中输入的内容。
参数
- 
    callback函数 callback参数如下所示:(text: string, disposition: OnInputEnteredDisposition) => void - 
    text字符串 
- 
    disposition
 
- 
    
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
用户已通过输入扩展程序的关键字启动了关键字输入会话。保证在每个输入会话中发送一次,并且在任何 onInputChanged 事件之前发送。
参数
- 
    callback函数 callback参数如下所示:() => void