Integração de Palavras-Chave da Omnibox
Integre sua extensão à omnibox do navegador, permitindo que os usuários acionem ações ou pesquisas diretamente pela barra de endereços.
Integração de Palavras-Chave da Omnibox é uma aula grátis de Browser Extensions Development (Chrome & Edge) no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Browser Extensions Development (Chrome & Edge), e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Browser Extensions Development (Chrome & Edge) inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
What is the Omnibox?
The omnibox is the URL bar at the top of your browser. It's not just for typing website addresses; it also handles searches and can be a powerful entry point for browser extensions!
Integrating with the omnibox allows users to quickly interact with your extension directly from the address bar, without needing to click an icon or open a popup.
Power Up Your Address Bar
Why integrate your extension with the omnibox?
- Quick Access: Users can trigger extension actions with just a few keystrokes.
- Custom Searches: Create shortcuts for specific searches within your extension's data.
- Streamlined Workflow: Perform tasks without interrupting their browsing flow.
Setting Your Omnibox Keyword
To enable omnibox integration, you need to declare it in your extension's manifest.json file.
You'll specify a unique keyword. When a user types this keyword into the omnibox, followed by a space, your extension takes over the input.
Manifest Keyword Example
Here's how to declare an omnibox keyword, for example, 'myext':
{ "manifest_version": 3,
"name": "My Omnibox Extension",
"version": "1.0",
"omnibox": {
"keyword": "myext"
},
"background": {
"service_worker": "background.js"
}
}Capturing User Input
Once your keyword is set, your background service worker needs to listen for user input. The main event for this is chrome.omnibox.onInputChanged.
This event fires every time the user types a character after your keyword, allowing you to provide real-time suggestions.
Displaying Live Suggestions
The onInputChanged listener provides a suggest callback function. You use this to send an array of suggestion objects back to the omnibox.
Each suggestion object needs a content (what gets inserted if selected) and a description (what the user sees in the dropdown).
Dynamic Suggestions in Action
This background.js snippet shows how to listen for input and offer basic suggestions. Try typing 'myext hello' in your browser's omnibox after loading this extension.
// background.js
chrome.omnibox.onInputChanged.addListener(
function(text, suggest) {
let suggestions = [];
if (text.startsWith("hello")) {
suggestions.push({content: "hello world", description: "Says Hello World"});
suggestions.push({content: "hello there", description: "Greets you"});
} else {
suggestions.push({content: "type 'hello'", description: "Try typing 'hello'"});
}
suggest(suggestions);
}
);Acting on User Selection
After the user types their input and optionally selects a suggestion, they press Enter. This triggers the chrome.omnibox.onInputEntered event.
This is where your extension performs the final action based on the user's input, like opening a new tab or executing a script.
Executing Actions
Inside onInputEntered, the text parameter contains the final string the user entered or selected.
A common action is to open a new tab with a specific URL using chrome.tabs.create({url: '...' }), or perform a search based on the input.
Full Omnibox Integration
Here's a more complete example combining both input handling and action execution. This example allows users to search Google directly from the omnibox using 'myext go [query]'.
// background.js
chrome.omnibox.onInputChanged.addListener(
function(text, suggest) {
let suggestions = [];
if (text.startsWith("go ")) {
const query = text.substring(3);
suggestions.push({
content: `https://www.google.com/search?q=${query}`,
description: `Search Google for "${query}"`
});
} else {
suggestions.push({
content: "go [search_term]",
description: "Type 'go' to search Google"
});
}
suggest(suggestions);
}
);
chrome.omnibox.onInputEntered.addListener(
function(text, disposition) {
if (text.startsWith("http://") || text.startsWith("https://")) {
chrome.tabs.create({url: text});
} else if (text.startsWith("go ")) {
const query = text.substring(3);
chrome.tabs.create({url: `https://www.google.com/search?q=${query}`});
} else {
console.log("Omnibox entered:", text);
chrome.tabs.create({url: `https://www.google.com/search?q=${text}`});
}
}
);Omnibox Quick Check
You've learned how to integrate your extension with the browser's omnibox. Let's test your knowledge!
Omnibox Power-Up Recap
Great job! You've learned how to integrate your extension with the browser's omnibox.
- We defined a keyword in
manifest.json. - We used
chrome.omnibox.onInputChangedto provide dynamic suggestions as the user types. - We handled the final action using
chrome.omnibox.onInputEntered, for example, opening a new tab.
This powerful feature allows users to interact with your extension quickly and efficiently right from their address bar!
Perguntas Frequentes
A aula “Integração de Palavras-Chave da Omnibox” é grátis?
Sim — o texto completo de “Integração de Palavras-Chave da Omnibox” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Browser Extensions Development (Chrome & Edge), atualize para CoddyKit PRO. O curso de Browser Extensions Development (Chrome & Edge) inclui 4 aulas no total.
O que vou aprender em “Integração de Palavras-Chave da Omnibox”?
Integre sua extensão à omnibox do navegador, permitindo que os usuários acionem ações ou pesquisas diretamente pela barra de endereços. Você pratica Browser Extensions Development (Chrome & Edge) com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Browser Extensions Development (Chrome & Edge)?
Nenhuma experiência prévia é necessária. Browser Extensions Development (Chrome & Edge) no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Integração de Palavras-Chave da Omnibox”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Browser Extensions Development (Chrome & Edge)?
Sim. Cada aula de Browser Extensions Development (Chrome & Edge) inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Adicionando Itens ao Menu de Contexto
- Integração de Palavras-Chave da Omnibox
- Respondendo à Entrada da Omnibox
- Atalhos de Teclado com a API de Comandos