aboutsummaryrefslogtreecommitdiff
path: root/files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md')
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md166
1 files changed, 166 insertions, 0 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md
new file mode 100644
index 0000000000..5f7fa9d84c
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md
@@ -0,0 +1,166 @@
+---
+title: downloads.search()
+slug: Mozilla/Add-ons/WebExtensions/API/downloads/search
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Méthode
+ - Non-standard
+ - Recherche
+ - Reference
+ - Search
+ - WebExtensions
+ - downloads
+translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/search
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>La fonction <strong><code>search()</code></strong> de l'API {{WebExtAPIRef("downloads")}} interroge les {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} disponibles dans le gestionnaire de téléchargements du navigateur, et renvoie celles qui correspondent aux spécifications critères de recherche.</p>
+
+<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="brush: js">var searching = browser.downloads.search(query);
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>query</code></dt>
+ <dd>Un objet {{WebExtAPIRef('downloads.DownloadQuery')}}.</dd>
+</dl>
+
+<h3 id="Return_value">Return value</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. La promise est remplie avec un <code>tableau d'objets</code> <code>{{WebExtAPIRef('downloads.DownloadItem')}}</code> qui correspondent aux critères donnés.</p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p>{{Compat("webextensions.api.downloads.search")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>En général, vous restreignez les éléments récupérés à l'aide du paramètre de <code>requête</code>.</p>
+
+<h3 id="Obtenez_les_téléchargements_correspondant_à_query">Obtenez les téléchargements correspondant à "query"</h3>
+
+<pre class="brush: js">function logDownloads(downloads) {
+ for (let download of downloads) {
+ console.log(download.id);
+ console.log(download.url);
+ }
+}
+
+function onError(error) {
+  console.log(`Error: ${error}`);
+}
+
+var searching = browser.downloads.search({
+ query:["imgur"]
+});
+
+searching.then(logDownloads, onError);</pre>
+
+<h3 id="Obtenez_un_article_spécifique">Obtenez un article spécifique</h3>
+
+<p>Pour obtenir un {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}}, la méthode la plus simple consiste à définir uniquement le champ <code>id</code>, comme indiqué dans l'extrait ci-dessous :</p>
+
+<pre class="brush: js">function logDownloads(downloads) {
+ for (let download of downloads) {
+ console.log(download.id);
+ console.log(download.url);
+ }
+}
+
+function onError(error) {
+  console.log(`Error: ${error}`);
+}
+
+var id = 13;
+
+var searching = browser.downloads.search({id});
+searching.then(logDownloads, onError);
+</pre>
+
+<h3 id="Obtenez_tous_les_téléchargements">Obtenez tous les téléchargements</h3>
+
+<p>Si vous voulez renvoyer tout {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}, définissez la <code>query</code> sur un objet vide.</p>
+
+<pre class="brush: js">function logDownloads(downloads) {
+ for (let download of downloads) {
+ console.log(download.id);
+ console.log(download.url);
+ }
+}
+
+function onError(error) {
+  console.log(`Error: ${error}`);
+}
+
+var searching = browser.downloads.search({});
+searching.then(logDownloads, onError);</pre>
+
+<h3 id="Obtenez_le_téléchargement_le_plus_récent">Obtenez le téléchargement le plus récent</h3>
+
+<p>Vous pouvez obtenir le téléchargement le plus récent en spécifiant les paramètres de recherche suivants :</p>
+
+<pre class="brush: js">function logDownloads(downloads) {
+ for (let download of downloads) {
+ console.log(download.id);
+ console.log(download.url);
+ }
+}
+
+function onError(error) {
+ console.log(`Error: ${error}`);
+}
+
+var searching = browser.downloads.search({
+ limit: 1,
+ orderBy: ["-startTime"]
+});
+searching.then(logDownloads, onError);</pre>
+
+<p>Vous pouvez voir ce code en action par exemple dans notre <a href="https://github.com/mdn/webextensions-examples/blob/master/latest-download/popup/latest_download.js">dernier téléchargement</a>.</p>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><p><strong>Note :</strong></p>
+
+<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</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>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>