Описание
API омнибокса позволяет зарегистрировать ключевое слово в адресной строке Google Chrome, которая также известна как омнибокс.
Когда пользователь вводит ключевое слово вашего расширения, он начинает взаимодействовать исключительно с вашим расширением. Каждое нажатие клавиши отправляется на ваш добавочный номер, и вы можете предоставить предложения в ответ.
Предложения могут быть разнообразно отформатированы различными способами. Когда пользователь принимает предложение, ваше расширение получает уведомление и может принять меры.
Манифест
Чтобы использовать API омнибокса, необходимо включить в манифест поле keyword
omnibox
. Также следует указать значок размером 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, установите пример API омнибокса из репозитория chrome-extension-samples .
Типы
DefaultSuggestResult
Рекомендуемый результат.
Характеристики
- описание
нить
Текст, отображаемый в раскрывающемся списке URL-адресов. Может содержать разметку в стиле XML для стилизации. Поддерживаемые теги: «url» (для буквального URL-адреса), «match» (для выделения текста, соответствующего запросу пользователя) и «dim» (для тусклого вспомогательного текста). Стили могут быть вложенными, например. погасшая спичка.
DescriptionStyleType
Тип стиля.
Перечисление
"URL-адрес" "соответствовать" "тусклый"
OnInputEnteredDisposition
Расположение окна для запроса омнибокса. Это рекомендуемый контекст для отображения результатов. Например, если команда омнибокса предназначена для перехода к определенному URL-адресу, расположение «newForegroundTab» означает, что навигация должна осуществляться на новой выбранной вкладке.
Перечисление
"текущая вкладка" "новая вкладка переднего плана" "новая вкладка фона"
SuggestResult
Рекомендуемый результат.
Характеристики
- содержание
нить
Текст, который помещается в строку URL-адреса и отправляется расширению, когда пользователь выбирает эту запись.
- удаляемый
логическое значение необязательно
Хром 63+Может ли пользователь удалить результат предложения.
- описание
нить
Текст, отображаемый в раскрывающемся списке URL-адресов. Может содержать разметку в стиле XML для стилизации. Поддерживаемые теги: «url» (для буквального URL-адреса), «match» (для выделения текста, соответствующего запросу пользователя) и «dim» (для тусклого вспомогательного текста). Стили могут быть вложенными, например. погасшая спичка. Вы должны экранировать пять предопределенных объектов, чтобы отображать их в виде текста: stackoverflow.com/a/1091953/89484
Методы
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
)
Задает описание и стиль для предложения по умолчанию. Предложение по умолчанию — это текст, который отображается в первой строке предложения под строкой URL-адреса.
Параметры
- предположение
Частичный объект OfferResult без параметра «content».
- перезвонить
функция необязательна
Хром 100+Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 100+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
События
onDeleteSuggestion
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
Пользователь удалил предложенный результат.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(text: string) => void
- текст
нить
onInputCancelled
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
Пользователь завершил сеанс ввода ключевых слов, не приняв введенные данные.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
Пользователь изменил текст, введенный в омнибокс.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(text: string, suggest: function) => void
- текст
нить
- предлагать
функция
Параметр
suggest
выглядит так:(suggestResults: SuggestResult[]) => void
- предложитьРезультаты
Массив предлагаемых результатов
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
Пользователь принял то, что введено в омнибокс.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(text: string, disposition: OnInputEnteredDisposition) => void
- текст
нить
- расположение
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
Пользователь начал сеанс ввода ключевых слов, введя ключевое слово расширения. Это гарантированно будет отправлено ровно один раз за сеанс ввода и перед любыми событиями onInputChanged.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:() => void