downloads.search()
Thesearch() function of thedownloads API queries theDownloadItems available in the browser's downloads manager, and returns those that match the specified search criteria.
This is an asynchronous function that returns aPromise.
In this article
Syntax
let searching = browser.downloads.search(query);Parameters
queryA
downloads.DownloadQueryobject.
Return value
APromise. The promise is fulfilled with anarray ofdownloads.DownloadItem objects that match the given criteria.
Examples
In general, you restrict the items retrieved using thequery parameter.
Get downloads matching "query"
function logDownloads(downloads) { for (const download of downloads) { console.log(download.id); console.log(download.url); }}function onError(error) { console.log(`Error: ${error}`);}browser.downloads .search({ query: ["imgur"], }) .then(logDownloads, onError);Get a specific item
To get a specificDownloadItem, the easiest way is to set only theid field, as seen in the snippet below:
function logDownloads(downloads) { for (const download of downloads) { console.log(download.id); console.log(download.url); }}function onError(error) { console.log(`Error: ${error}`);}const id = 13;browser.downloads.search({ id }).then(logDownloads, onError);Get all downloads
If you want to return allDownloadItems, setquery to an empty object.
function logDownloads(downloads) { for (const download of downloads) { console.log(download.id); console.log(download.url); }}function onError(error) { console.log(`Error: ${error}`);}browser.downloads.search({}).then(logDownloads, onError);Get the most recent download
You can get the most recent download by specifying the following search parameters:
function logDownloads(downloads) { for (const download of downloads) { console.log(download.id); console.log(download.url); }}function onError(error) { console.log(`Error: ${error}`);}browser.downloads .search({ limit: 1, orderBy: ["-startTime"], }) .then(logDownloads, onError);You can see this code in action in ourlatest-download example.
Example extensions
Browser compatibility
Note:This API is based on Chromium'schrome.downloads API.