Spec-Zone.ru › Web Extensions

Omnibox

Разрешает расширениям реализовывать настраиваемое поведение при вводе пользователем текста в адресную строку браузера.

Когда пользователь фокусирует адресную строку браузера и начинает вводить текст, браузер отображает раскрывающееся меню с предложенными страницами на основе введённого текста. Это предоставляет пользователю быстрый способ доступа, например, к страницам из истории или закладок.

API omnibox предоставляет расширению возможность настраивать предложения, отображаемые в раскрывающемся меню, когда пользователь вводит ключевое слово, определённое расширением. Работает следующим образом:

  1. Сначала расширение должно включить ключ "omnibox" в файле manifest.json, который определяет ключевое слово.
  2. Когда пользователь фокусирует адресную строку и вводит ключевое слово, за которым следует пробел, расширение получает событие omnibox.onInputStarted.
  3. По желанию расширение может вызвать omnibox.setDefaultSuggestion(), чтобы определить первое предложение, отображаемое в раскрывающемся меню адресной строки.
  4. По мере продолжения ввода символов пользователем расширение получает события omnibox.onInputChanged. Обработчик событий получает значение, введённое пользователем, и может заполнить раскрывающееся меню адресной строки предложениями. Если расширение устанавливает значение по умолчанию с помощью omnibox.setDefaultSuggestion(), это предложение отображается первым в раскрывающемся меню.
  5. Если пользователь принимает предложение, расширение получает событие omnibox.onInputEntered. Обработчик событий получает принятое предложение.
  6. Если пользователь удаляет предложение, расширение получает событие omnibox.onDeleteSuggestion.
  7. Если пользователь закрывает раскрывающееся меню, расширение получает событие omnibox.onInputCancelled.

Типы

omnibox.OnInputEnteredDisposition

Описывает рекомендуемый метод обработки выбранного предложения: открыть в текущей вкладке, открыть в новой активной вкладке или открыть в новой фоновой вкладке.

omnibox.SuggestResult

Объект, представляющий предложение для добавления в раскрывающееся меню адресной строки.

Функции

omnibox.setDefaultSuggestion()

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

События

omnibox.onDeleteSuggestion

Срабатывает всякий раз, когда пользователь удаляет предложение.

omnibox.onInputStarted

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

omnibox.onInputChanged

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

omnibox.onInputEntered

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

omnibox.onInputCancelled

Срабатывает, когда пользователь закрывает раскрывающееся меню адресной строки после того, как сфокусировал её и ввёл ключевое слово вашего расширения, за которым следует пробел.

Примеры расширений

  • firefox-code-search

Совместимость с браузерами

Рабочий стол Мобильные
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet
OnInputEnteredDisposition 44 79 52 ? 31 Нет ? ? Нет ? Нет ?
SuggestResult 9 79
52'description' is interpreted as plain text, and XML markup is not recognized.
? 15 Нет ? ? Нет ? Нет ?
onDeleteSuggestion 63 79 109 ? 50 Нет ? ? Нет ? Нет ?
onInputCancelled 9 79 52 ? 15 Нет ? ? Нет ? Нет ?
onInputChanged 9 79 52 ? 15 Нет ? ? Нет ? Нет ?
onInputEntered 9 79 52 ? 15 Нет ? ? Нет ? Нет ?
onInputStarted 9 79 52 ? 15 Нет ? ? Нет ? Нет ?
setDefaultSuggestion 9 79
52'description' is interpreted as plain text, and XML markup is not recognized.
? 15 Нет ? ? Нет ? Нет ?

Примечание: Этот API основан на API chrome.omnibox Chromium.

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/omnibox

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API