хром.омнибокс

Описание

API омнибокса позволяет зарегистрировать ключевое слово в адресной строке Google Chrome, которая также известна как омнибокс.

Снимок экрана, показывающий предложения, связанные с ключевым словом «Поиск в Chromium».

Когда пользователь вводит ключевое слово вашего расширения, он начинает взаимодействовать исключительно с вашим расширением. Каждое нажатие клавиши отправляется на ваш добавочный номер, и вы можете предоставить предложения в ответ.

Предложения могут быть разнообразно отформатированы различными способами. Когда пользователь принимает предложение, ваше расширение получает уведомление и может принять меры.

Манифест

Чтобы использовать 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

Хром 44+

Тип стиля.

Перечисление

"URL-адрес"

"соответствовать"

"тусклый"

OnInputEnteredDisposition

Хром 44+

Расположение окна для запроса омнибокса. Это рекомендуемый контекст для отображения результатов. Например, если команда омнибокса предназначена для перехода к определенному 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

Хром 63+
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,
)

Пользователь принял то, что введено в омнибокс.

Параметры

onInputStarted

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

Пользователь начал сеанс ввода ключевых слов, введя ключевое слово расширения. Это гарантированно будет отправлено ровно один раз за сеанс ввода и перед любыми событиями onInputChanged.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    () => void