The search()
function of the downloads
API queries the DownloadItems
available in the browser's downloads manager, and returns those that match the specified search criteria.
This is an asynchronous function that returns a Promise
.
var searching = browser.downloads.search(query);
query
downloads.DownloadQuery
object.A Promise
. The promise is fulfilled with an array
of
objects that match the given criteria.downloads.DownloadItem
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
search |
Yes |
79 |
47 |
? |
Yes |
No |
? |
? |
48-79 |
? |
? |
? |
In general, you restrict the items retrieved using the query
parameter.
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);
To get a specific DownloadItem
, the easiest way is to set only the id
field, as seen in the snippet below:
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);
If you want to return all DownloadItems
, set query
to an empty object.
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);
You can get the most recent download by specifying the following search parameters:
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);
You can see this code in action in our latest-download example.
Note: This API is based on Chromium's chrome.downloads
API.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/downloads/search