omnibox.onInputEntered
Lancé lorsque l'utilisateur a sélectionné l'une des suggestions que votre extension a ajoutées à la liste déroulante de la barre d'adresse.
Utilisez cet événement pour gérer la sélection de l'utilisateur, généralement en ouvrant la page correspondante. L'écouteur d'événement est transmis w:
- la sélection de l'utilisateur
- Un
omnibox.OnInputEnteredDisposition
: utilisez cette option pour déterminer si vous souhaitez ouvrir la nouvelle page dans l'onglet actuel, dans un nouvel onglet de premier plan ou dans un nouvel onglet d'arrière-plan.
Syntaxe
browser.omnibox.onInputEntered.addListener(listener);
browser.omnibox.onInputEntered.removeListener(listener);
browser.omnibox.onInputEntered.hasListener(listener);
Les événements ont trois fonctions :
addListener(listener)
-
Ajoute un écouteur à cet événement.
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument
listener
est l'écouteur à supprimer. hasListener(listener)
-
Vérifiez si
listener
est enregistré pour cet événement. Renvoietrue
s'il écoute, sinonfalse
.
Syntaxe addListener
La fonction d'écouteur recevra deux paramètres: une chaine de text
, et un omnibox.OnInputEnteredDisposition
.
Paramètres
text
-
String
. C'est la valeur de la propriétécontent
de l'objetomnibox.SuggestResult
que l'utilisateur a sélectionné. disposition
-
OnInputEnteredDisposition
. Uneomnibox.OnInputEnteredDisposition
énumération, indiquant si l'extension doit ouvrir la page dans l'onglet en cours, dans un nouvel onglet de premier plan ou dans un nouvel onglet d'arrière-plan.
Compatibilité des navigateurs
Report problems with this compatibility data on GitHubdesktop | mobile | ||||||
---|---|---|---|---|---|---|---|
onInputEntered |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
Exemples
Cet exemple interprète l'entrée de l'utilisateur en tant que nom de propriété CSS et remplit la liste déroulante avec un objet omnibox.SuggestResult
pour chaque propriété CSS correspondant à l'entrée. La description SuggestResult
est le nom complet de la propriété et le contenu
est la page MDN de cette propriété.
L'exemple écoute également omnibox.onInputEntered
, et ouvre la page MDN correspondant à la sélection, conformément à l'argument omnibox.OnInputEnteredDisposition
.
browser.omnibox.setDefaultSuggestion({
description: "Type the name of a CSS property",
});
/*
Very short list of a few CSS properties.
*/
const props = [
"animation",
"background",
"border",
"box-shadow",
"color",
"display",
"flex",
"flex",
"float",
"font",
"grid",
"margin",
"opacity",
"overflow",
"padding",
"position",
"transform",
"transition",
];
const baseURL = "https://developer.mozilla.org/fr/docs/Web/CSS/";
/*
Return an array of SuggestResult objects,
one for each CSS property that matches the user's input.
*/
function getMatchingProperties(input) {
var result = [];
for (prop of props) {
if (prop.indexOf(input) === 0) {
console.log(prop);
let suggestion = {
content: baseURL + prop,
description: prop,
};
result.push(suggestion);
} else {
if (result.length != 0) {
return result;
}
}
}
return result;
}
browser.omnibox.onInputChanged.addListener((input, suggest) => {
suggest(getMatchingProperties(input));
});
browser.omnibox.onInputEntered.addListener((url, disposition) => {
switch (disposition) {
case "currentTab":
browser.tabs.update({ url });
break;
case "newForegroundTab":
browser.tabs.create({ url });
break;
case "newBackgroundTab":
browser.tabs.create({ url, active: false });
break;
}
});
Example extensions
Note :
Cette API est basée sur l'API Chromium chrome.omnibox
.
Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.