aboutsummaryrefslogtreecommitdiff
path: root/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.html')
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.html153
1 files changed, 153 insertions, 0 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.html b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.html
new file mode 100644
index 0000000000..93741b08ae
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.html
@@ -0,0 +1,153 @@
+---
+title: omnibox.onInputChanged
+slug: Mozilla/Add-ons/WebExtensions/API/omnibox/onInputChanged
+tags:
+ - API
+ - Add-ons
+ - Event
+ - Extensions
+ - Reference
+ - WebExtensions
+ - omnibox
+ - onInputChanged
+translation_of: Mozilla/Add-ons/WebExtensions/API/omnibox/onInputChanged
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Lancé chaque fois que l'utilisateur modifie sa saisie, après avoir commencé à interagir avec votre extension en saisissant son mot-clé dans la barre d'adresse, puis en appuyant sur la touche espace.</p>
+
+<p>C'est l'événement que vous utiliserez pour remplir la liste déroulante de la barre d'adresse avec des suggestions. L'écouteur d'événement est transmis :</p>
+
+<ul>
+ <li>l'entrée actuelle de l'utilisateur (n'incluant pas le mot-clé lui-même ou l'espace après)</li>
+ <li>une fonction de rappel que l'écouteur peut appeler avec un tableau d'objets {{WebExtAPIRef("omnibox.SuggestResult")}}, un pour chaque suggestion. Seules les six premières suggestions seront affichées..</li>
+</ul>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">browser.omnibox.onInputChanged.addListener(listener)
+browser.omnibox.onInputChanged.removeListener(listener)
+browser.omnibox.onInputChanged.hasListener(listener)
+</pre>
+
+<p>Les événements ont trois fonctions :</p>
+
+<dl>
+ <dt><code>addListener(listener)</code></dt>
+ <dd>Ajoute un écouteur à cet événement.</dd>
+ <dt><code>removeListener(listener)</code></dt>
+ <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
+ <dt><code>hasListener(listener)</code></dt>
+ <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code>s'il écoute, sinon  <code>false</code>.</dd>
+</dl>
+
+<h2 id="syntaxe_addListener">syntaxe addListener</h2>
+
+<p>The listener function will be passed two parameters: a string <code>text</code>, and a callback function <code>suggest</code>.</p>
+
+<h3 id="Parameters">Parameters</h3>
+
+<dl>
+ <dt><code>text</code></dt>
+ <dd>
+ <p><code>String</code>. L'entrée actuelle de l'utilisateur dans la barre d'adresse, n'incluant pas le mot-clé de l'extension lui-même ou l'espace après le mot-clé. Utilisez-le pour décider quelles suggestions afficher dans la liste déroulante.</p>
+ </dd>
+ <dt><code>suggest</code></dt>
+ <dd>
+ <p><code>Function</code>. Une fonction de rappel que l'écouteur d'événement peut appeler pour fournir des suggestions pour la liste déroulante de la barre d'adresse. La fonction de rappel s'attend à recevoir un tableau d'objets  {{WebExtAPIRef("omnibox.SuggestResult")}} un pour chaque suggestion. Seules les six premières suggestions seront affichées.</p>
+ </dd>
+</dl>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.api.omnibox.onInputStarted")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>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 {{WebExtAPIRef("omnibox.SuggestResult")}} pour chaque propriété CSS correspondant à l'entrée. La <code>description SuggestResult</code> est le nom complet de la propriété et le <code>contenu</code> est la page MDN de cette propriété.</p>
+
+<p>L'exemple écoute également {{WebExtAPIRef("omnibox.onInputEntered")}}, et ouvre la page MDN correspondant à la sélection, conformément à l'argument   {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.</p>
+
+<pre class="brush: js">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/en-US/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) =&gt; {
+ suggest(getMatchingProperties(input));
+});
+
+browser.omnibox.onInputEntered.addListener((url, disposition) =&gt; {
+ 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;
+ }
+});
+
+</pre>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>Remerciements :</strong>
+
+<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/omnibox"><code>chrome.omnibox</code></a>.</p>
+
+<p>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.</p>
+</div>