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