Modules

downloads.search()

La fonction search() de l'API downloads interroge les DownloadItems disponibles dans le gestionnaire de téléchargements du navigateur, et renvoie celles qui correspondent aux spécifications critères de recherche.

C'est une fonction asynchrone qui renvoie une Promise.

Syntaxe

var searching = browser.downloads.search(query);

Paramètres

query
Un objet downloads.DownloadQuery.

Values of this type are objects. They contain the following properties:

queryOptional
An array of strings. Include only DownloadItems whose filename or url contains all of the given strings. You can also include terms beginning with a dash (-) — these terms must not be contained in the item's filename or url for it to be included.
startedBeforeOptional
A DownloadTime. Include only DownloadItems that started before the given time.
startedAfterOptional
A DownloadTime. Include only DownloadItems that started after the given time.
endedBeforeOptional
A DownloadTime. Include only DownloadItems that ended before the given time.
endedAfterOptional
A DownloadTime. Include only DownloadItems that ended after the given time.
totalBytesGreaterOptional
A number representing a number of bytes. Include only DownloadItems whose totalBytes is greater than the given number.
totalBytesLessOptional
A number representing a number of bytes. Include only DownloadItems whose totalBytes is less than the given number.
filenameRegexOptional
A string representing a regular expression. Include only DownloadItems whose filename value matches the given regular expression.
urlRegexOptional
A string representing a regular expression. Include only DownloadItems whose url value matches the given regular expression.
limitOptional
An integer representing a number of results. Include only the specified number of DownloadItems.
orderByOptional
An array of strings representing DownloadItem properties the search results should be sorted by. For example, including startTime then totalBytes in the array would sort the DownloadItems by their start time, then total bytes — in ascending order. To specify sorting by a property in descending order, prefix it with a hyphen, for example -startTime.
idOptional
An integer representing the ID of the downloads.DownloadItem you want to query.
urlOptional
A string representing the absolute URL that the download was initiated from, before any redirects.
filenameOptional
A string representing the absolute local path of the download file you want to query.
dangerOptional
A string representing a downloads.DangerType — include only DownloadItems with this danger value.
mimeOptional
A string representing a MIME type. Include only DownloadItems with this mime value.
startTimeOptional
A string representing an ISO 8601 format time. Include only DownloadItems with this startTime value.
endTimeOptional
A string representing an ISO 8601 format time. Include only will limited to DownloadItems with this endTime value.
stateOptional
A string representing a download downloads.State (in_progress, interrupted, or complete). Include onlyDownloadItems with this state value.
pausedOptional
A boolean that indicates whether a download is paused — i.e. has stopped reading data from the host, but kept the connection open (true), or not (false). Include only DownloadItems with this paused value.
errorOptional
A string representing an downloads.InterruptReason — a reason why a download was interrupted. Include only DownloadItems with this error value.
bytesReceivedOptional
A number representing the number of bytes received so far from the host, without considering file compression. Include only DownloadItems with this bytesReceived value.
totalBytesOptional
A number representing the total number of bytes in the downloaded file, without considering file compression. Include only DownloadItems with this totalBytes value.
fileSizeOptional
number. Number of bytes in the whole file post-decompression, or -1 if unknown. A number representing the total number of bytes in the file after decompression. Include only DownloadItems with this fileSize value.
existsOptional
A boolean indicating whether a downloaded file still exists (true) or not (false). Include only DownloadItems with this exists value.

Return value

Une Promise. La promesse est remplie avec un tableau d'objets downloads.DownloadItem qui correspondent aux critères donnés.

Compatibilité du navigateur

ChromeEdgeFirefoxFirefox for AndroidOpera
Support simple Oui Non4748 Oui

Exemples

En général, vous restreignez les éléments récupérés à l'aide du paramètre de requête.

Obtenez les téléchargements correspondant à "query"

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);

Obtenez un article spécifique

Pour obtenir un DownloadItem, la méthode la plus simple consiste à définir uniquement le champ id, comme indiqué dans l'extrait ci-dessous :

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);

Obtenez tous les téléchargements

Si vous voulez renvoyer tout DownloadItems, définissez la query sur un objet vide.

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);

Obtenez le téléchargement le plus récent

Vous pouvez obtenir le téléchargement le plus récent en spécifiant les paramètres de recherche suivants :

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);

Vous pouvez voir ce code en action par exemple dans notre dernier téléchargement.

Example extensions

Remerciements :

Cette API est basée sur l'API Chromium chrome.downloads.

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.

Étiquettes et contributeurs liés au document

Contributeurs à cette page : hellosct1
Dernière mise à jour par : hellosct1,