Spec-Zone.ru › Web Extensions

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.

Примеры расширений

  • 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API