downloads.search()
Функция search() API downloads запрашивает DownloadItems в менеджере загрузок браузера и возвращает те, которые соответствуют заданным критериям поиска.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
let searching = browser.downloads.search(query);
Параметры
query-
Объект
downloads.DownloadQuery.
Возвращаемое значение
A Promise. Обещание выполняется с array массивом объектов , которые соответствуют заданным критериям.downloads.DownloadItem
Совместимость с браузерами
| Десктоп | Мобильный | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
search |
Да | 79 | 47 | ? | Да | Нет | ? | ? | 48–79 | ? | Нет | ? |
Примеры
В общем случае вы ограничиваете элементы, которые извлекаются с помощью параметра 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);
Получение конкретного элемента
Чтобы получить конкретный DownloadItem, самый простой способ — установить только поле id, как показано в фрагменте ниже:
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);
Получение всех загрузок
Если вы хотите вернуть все DownloadItems, установите 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({}).then(logDownloads, onError);
Получение последней загрузки
Чтобы получить последнюю загрузку, вы можете указать следующие параметры поиска:
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);
Вы можете увидеть этот код в действии в нашем примере latest-download.
Примеры расширений
Примечание: Этот API основан на API chrome.downloads Chromium.
© 2005–2023 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