omnibox
Enables extensions to implement customised behavior when the user types into the browser's address bar.
When the user focuses the browser's address bar and starts typing, the browser displays a drop-down list containing suggested pages, based on what they typed. This gives the user a quick way to access, for example, pages from their history or bookmarks.
The omnibox API provides the extension a way to customise the suggestions displayed in the drop-down, when the user enters a keyword defined by the extension. It works as follows:
- First, the extension must include an "omnibox" key in its manifest.json file, which defines a keyword.
- When the user focuses the address bar and types the keyword, followed by a space, the extension will get an
omnibox.onInputStarted
event. - Optionally, the extension can call
omnibox.setDefaultSuggestion()
to define the first suggestion that will be displayed in the address bar drop-down. - As the user continues to type characters after this, the extension will get
omnibox.onInputChanged
events. The event listener will be passed the current value the user has typed, and will be able to populate the address bar drop-down with suggestions. If the extension set a default suggestion usingomnibox.setDefaultSuggestion()
, then this will appear first in the drop-down. - If the user accepts a suggestion, the extension will get an
omnibox.onInputEntered
event. The event listener will be passed the accepted suggestion. - If the user dismisses the drop-down, the extension will get an
omnibox.onInputCancelled
event.
Types
omnibox.OnInputEnteredDisposition
- Describes the recommended method to handle the selected suggestion: open in the current tab, open in a new foreground tab, or open in a new background tab.
omnibox.SuggestResult
- Object representing a suggestion to add to the address bar drop-down.
Functions
omnibox.setDefaultSuggestion()
- Defines the first suggestion that appears in the drop-down when the user enters the keyword for your extension, followed by a space.
Events
omnibox.onInputStarted
- Fired when the user focuses the address bar and types your extension's omnibox keyword, followed by a space.
omnibox.onInputChanged
- Fired whenever the user's input changes, after they have focused the address bar and typed your extension's omnibox keyword, followed by a space.
omnibox.onInputEntered
- Fired when the user accepts one of your extension's suggestions.
omnibox.onInputCancelled
- Fired when the user dismisses the address bar drop-down, after they have focused the address bar and typed your extension's omnibox keyword.
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
OnInputEnteredDisposition |
Yes |
79 |
52 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
SuggestResult |
Yes |
79 |
52
'description' is interpreted as plain text, and XML markup is not recognised.
|
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
onInputCancelled |
Yes |
79 |
52 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
onInputChanged |
Yes |
79 |
52 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
onInputEntered |
Yes |
79 |
52 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
onInputStarted |
Yes |
79 |
52 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
setDefaultSuggestion |
Yes |
79 |
52
'description' is interpreted as plain text, and XML markup is not recognised.
|
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
Example extensions
Note: This API is based on Chromium's chrome.omnibox
API.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
© 2005–2021 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