说明
多功能框 API 可让您向 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 安装chrome-extension-samples 存储库
类型
DefaultSuggestResult
建议结果。
属性
-
说明
字符串
网址下拉菜单中显示的文字。可以包含用于样式设置的 XML 样式标记。支持的代码为“url”(对于文字网址),“match”(用于突出显示与用户查询匹配的文字)和“调暗”(针对颜色较暗的帮助文本)。样式可以嵌套,例如:灰暗匹配。
DescriptionStyleType
样式类型。
枚举
“url”
"匹配"
"调暗"
OnInputEnteredDisposition
多功能框查询的窗口位置。这是显示结果的推荐上下文。例如,如果使用多功能框命令导航到某个网址,系统就会显示“newForegroundTab”表示导航应在新选择的标签页中进行。
枚举
“currentTab”
“newForegroundTab”
"newBackgroundTab"
SuggestResult
建议结果。
属性
-
内容
字符串
放置在网址栏中的文本,当用户选择此条目时,系统会向扩展程序发送该文本。
-
可删除
布尔值(可选)
Chrome 63 及更高版本用户是否可以删除建议结果。
-
说明
字符串
网址下拉菜单中显示的文字。可以包含用于样式设置的 XML 样式标记。支持的代码为“url”(对于文字网址),“match”(用于突出显示与用户查询匹配的文字)和“调暗”(针对颜色较暗的帮助文本)。样式可以嵌套,例如:灰暗匹配。您必须对这五个预定义实体进行转义,才能将其显示为文本:stackoverflow.com/a/1091953/89484
方法
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
)
设置默认建议的说明和样式。默认建议是网址栏下方第一个建议行中显示的文字。
参数
-
部分 RecommendationResult 对象,不包含“content”参数。
-
callback
函数(可选)
Chrome 浏览器 100 及以上版本callback
参数如下所示:() => void
返回
-
承诺<void>
Chrome 浏览器 100 及以上版本只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
事件
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