diff options
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.md | 166 |
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> |