Descrizione
L'API omnibox ti consente di registrare una parola chiave nella barra degli indirizzi di Google Chrome, nota anche come omnibox.
Quando l'utente inserisce la parola chiave dell'estensione, inizia a interagire esclusivamente con la tua . Ogni sequenza di tasti viene inviata all'estensione e tu puoi fornire suggerimenti in risposta.
I suggerimenti possono essere formattati in modo RTF in diversi modi. Quando l'utente accetta un suggerimento, la tua estensione riceve una notifica e può intervenire.
Manifest
Per utilizzare l'API della omnibox, devi includere un campo "omnibox.keyword"
nel file manifest. Tu
è necessario specificare anche un'icona di 16 x 16 pixel che verrà visualizzata nella barra degli indirizzi quando suggerisci
che gli utenti attivino la modalità parole chiave.
Ad esempio:
{
"name": "Aaron's omnibox extension",
"version": "1.0",
"omnibox": { "keyword" : "aaron" },
"icons": {
"16": "16-full-color.png"
},
"background": {
"persistent": false,
"scripts": ["background.js"]
}
}
Esempi
Per provare questa API, installa l'esempio dell'API omnibox da chrome-extension-samples repository Git.
Tipi
DefaultSuggestResult
Un risultato suggerito.
Proprietà
-
descrizione
stringa
Il testo visualizzato nel menu a discesa dell'URL. Può contenere un markup in stile XML per lo stile. I tag supportati sono "url" (per un URL letterale), "match" (per evidenziare il testo corrispondente alla query dell'utente) e "attenua" (per il testo di aiuto per l'attenuazione della luminosità). Gli stili possono essere nidificati, ad es. corrispondenza attenuata.
DescriptionStyleType
Il tipo di stile.
Enum
"url"
"match"
"attenua"
OnInputEnteredDisposition
La disposizione della finestra per la query della omnibox. Questo è il contesto consigliato per visualizzare i risultati. Ad esempio, se il comando omnibox consiste nell'accedere a un determinato URL, una disposizione di "newForegroundTab" significa che la navigazione dovrebbe avvenire in una nuova scheda selezionata.
Enum
"currentTab"
"newForegroundTab"
"newBackgroundTab"
SuggestResult
Un risultato suggerito.
Proprietà
-
contenuti
stringa
Il testo inserito nella barra dell'URL e che viene inviato all'estensione quando l'utente sceglie questa voce.
-
eliminabile
booleano facoltativo
Chrome 63 e versioni successive .Indica se il risultato del suggerimento può essere eliminato dall'utente.
-
descrizione
stringa
Il testo visualizzato nel menu a discesa dell'URL. Può contenere un markup in stile XML per lo stile. I tag supportati sono "url" (per un URL letterale), "match" (per evidenziare il testo corrispondente alla query dell'utente) e "attenua" (per il testo di aiuto per l'attenuazione della luminosità). Gli stili possono essere nidificati, ad es. corrispondenza attenuata. Devi eseguire l'interpretazione letterale delle cinque entità predefinite per visualizzarle come testo: stackoverflow.com/a/1091953/89484
Metodi
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
)
Consente di impostare la descrizione e lo stile del suggerimento predefinito. Il suggerimento predefinito è il testo visualizzato nella prima riga dei suggerimenti sotto la barra dell'URL.
Parametri
-
suggerimento
Un oggetto SuggestResult parziale, senza "content" .
-
callback
funzione facoltativa
Chrome 100 e versioni successive .Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 100 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.
Eventi
onDeleteSuggestion
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
L'utente ha eliminato un risultato suggerito.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(text: string) => void
-
testo
stringa
-
onInputCancelled
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
L'utente ha terminato la sessione di inserimento della parola chiave senza accettare l'input.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
L'utente ha modificato il testo digitato nella omnibox.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(text: string, suggest: function) => void
-
testo
stringa
-
suggest
funzione
Il parametro
suggest
ha il seguente aspetto:(suggestResults: SuggestResult[]) => void
-
suggestResults
Array di risultati dei suggerimenti
-
-
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
L'utente ha accettato il testo digitato nella omnibox.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(text: string, disposition: OnInputEnteredDisposition) => void
-
testo
stringa
-
disposizione
-
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
L'utente ha avviato una sessione di inserimento della parola chiave digitando la parola chiave dell'estensione. È garantito che venga inviato esattamente una volta per sessione di input e prima di qualsiasi evento onInputChanged.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:() => void