chrome.downloads

Описание

Используйте API chrome.downloads для программного запуска, мониторинга, управления и поиска загрузок.

Разрешения

downloads

Чтобы использовать этот API, вы должны объявить разрешение "downloads" в манифесте расширения .

{
  "name": "My extension",
  ...
  "permissions": [
    "downloads"
  ],
}

Примеры

Простые примеры использования API chrome.downloads можно найти в каталоге example/api/downloads . Другие примеры и помощь в просмотре исходного кода см. в разделе «Примеры» .

Типы

BooleanDelta

Характеристики

  • текущий

    логическое значение необязательно

  • предыдущий

    логическое значение необязательно

DangerType

файл

Имя файла загрузки вызывает подозрения.

URL

Известно, что URL-адрес загрузки является вредоносным.

содержание

Загруженный файл известен как вредоносный.

необычный

URL-адрес загрузки обычно не загружается и может быть опасным.

хозяин

Загрузка произошла с хоста, который, как известно, распространяет вредоносные двоичные файлы и, вероятно, опасен.

нежелательный

Загрузка потенциально нежелательна или небезопасна. Например, он может внести изменения в настройки браузера или компьютера.

безопасный

Загрузка не представляет никакой известной опасности для компьютера пользователя.

принял

Пользователь принял опасную загрузку.

Перечисление

"файл"

"URL-адрес"

"содержание"

"необычный"

"хозяин"

"нежелательный"

"безопасный"

"принял"

"allowlistedByPolicy"

"асинхронное сканирование"

"asyncLocalPasswordScanning"

"Защищено паролем"

"заблокированоTooLarge"

"чувствительныйконтентпредупреждение"

"чувствительныйКонтентБлок"

"deepScannedFailed"

"глубокосканированныйсейф"

«deepScannedOpenedDangerous»

«подсказка для сканирования»

"promptForLocalPasswordScanning"

"Компрометация аккаунта"

«заблокированоСканированиеFailed»

DoubleDelta

Характеристики

  • текущий

    номер необязательно

  • предыдущий

    номер необязательно

DownloadDelta

Характеристики

  • можновозобновить

    BooleanDelta необязательно

    Изменение canResume , если таковое имеется.

  • Опасность

    StringDelta необязательно

    Изменение danger , если таковое имеется.

  • время окончания

    StringDelta необязательно

    Изменение endTime , если таковое имеется.

  • ошибка

    StringDelta необязательно

    Изменение error , если таковая имеется.

  • существует

    BooleanDelta необязательно

    Изменение exists , если таковое имеется.

  • размер файла

    DoubleDelta необязательно

    Изменение fileSize , если таковое имеется.

  • имя файла

    StringDelta необязательно

    Изменение filename , если таковое имеется.

  • конечный URL

    StringDelta необязательно

    Хром 54+

    Изменение finalUrl , если таковое имеется.

  • идентификатор

    число

    id DownloadItem , который изменился.

  • мим

    StringDelta необязательно

    Изменение mime , если таковое имеется.

  • остановился

    BooleanDelta необязательно

    Изменение paused , если таковое имеется.

  • время начала

    StringDelta необязательно

    Изменение startTime , если таковое имеется.

  • состояние

    StringDelta необязательно

    Изменение state , если таковое имеется.

  • всего байт

    DoubleDelta необязательно

    Изменение totalBytes , если таковое имеется.

  • URL

    StringDelta необязательно

    Изменение url , если таковое имеется.

DownloadItem

Характеристики

  • поExtensionId

    строка необязательна

    Идентификатор расширения, инициировавшего эту загрузку, если эта загрузка была инициирована расширением. Не меняется после установки.

  • поExtensionName

    строка необязательна

    Локализованное имя расширения, инициировавшего эту загрузку, если эта загрузка была инициирована расширением. Может измениться, если расширение изменит свое имя или если пользователь изменит свой языковой стандарт.

  • байтыполучено

    число

    Количество байтов, полученных на данный момент от хоста, без учета сжатия файла.

  • можновозобновить

    логическое значение

    True, если загрузка выполняется и приостановлена, или если она прервана и ее можно возобновить, начиная с того места, где она была прервана.

  • Опасность

    Индикация того, считается ли эта загрузка безопасной или подозрительной.

  • время окончания

    строка необязательна

    Время окончания загрузки в формате ISO 8601. Может быть передано непосредственно конструктору Date: chrome.downloads.search({}, function(items){items.forEach(function(item){if (item.endTime) console.log(new Date(item.endTime))})})

  • ошибка

    InterruptReason необязательно

    Почему загрузка прервалась. Несколько типов ошибок HTTP могут быть сгруппированы в одну из ошибок, начинающуюся с SERVER_ . Ошибки, относящиеся к сети, начинаются с NETWORK_ , ошибки, связанные с процессом записи файла в файловую систему, начинаются с FILE_ , а прерывания, инициированные пользователем, начинаются с USER_ .

  • расчетноевремя окончания

    строка необязательна

    Предполагаемое время завершения загрузки в формате ISO 8601. Может быть передано непосредственно конструктору Date: chrome.downloads.search({}, function(items){items.forEach(function(item){if (item.estimatedEndTime) console.log(new Date(item.estimatedEndTime))})})

  • существует

    логическое значение

    Существует ли загруженный файл. Эта информация может быть устаревшей, поскольку Chrome не отслеживает автоматическое удаление файлов. Вызовите search (), чтобы инициировать проверку существования файла. Если после завершения проверки существования файл был удален, произойдет событие onChanged . Обратите внимание, что search () не ожидает завершения проверки существования перед возвратом, поэтому результаты search () могут неточно отражать файловую систему. Кроме того, search () может вызываться так часто, как необходимо, но не будет проверять существование файла чаще, чем раз в 10 секунд.

  • размер файла

    число

    Количество байтов во всем файле после распаковки или -1, если неизвестно.

  • имя файла

    нить

    Абсолютный локальный путь.

  • конечный URL

    нить

    Хром 54+

    Абсолютный URL-адрес, с которого осуществляется загрузка, после всех перенаправлений.

  • идентификатор

    число

    Идентификатор, который сохраняется во всех сеансах браузера.

  • инкогнито

    логическое значение

    False, если эта загрузка записывается в историю, и true, если она не записывается.

  • мим

    нить

    MIME-тип файла.

  • остановился

    логическое значение

    True, если загрузка прекратила чтение данных с хоста, но соединение осталось открытым.

  • реферер

    нить

    Абсолютный URL.

  • время начала

    нить

    Время начала загрузки в формате ISO 8601. Может быть передано непосредственно конструктору Date: chrome.downloads.search({}, function(items){items.forEach(function(item){console.log(new Date(item.startTime))})})

  • состояние

    Указывает, выполняется ли загрузка, прервана или завершена.

  • всего байт

    число

    Число байтов во всем файле без учета сжатия файла или -1, если неизвестно.

  • URL

    нить

    Абсолютный URL-адрес, с которого была инициирована загрузка, до каких-либо перенаправлений.

DownloadOptions

Характеристики

  • тело

    строка необязательна

    Тело поста.

  • конфликтДействие

    FilenameConflictAction необязательно

    Действие, которое необходимо предпринять, если filename уже существует.

  • имя файла

    строка необязательна

    Путь к файлу относительно каталога «Загрузки», в котором содержится загруженный файл, возможно, содержащий подкаталоги. Абсолютные пути, пустые пути и пути, содержащие обратные ссылки «..», вызовут ошибку. onDeterminingFilename позволяет предлагать имя файла после того, как были определены MIME-тип файла и предварительное имя файла.

  • заголовки

    HeaderNameValuePair [] необязательно

    Дополнительные заголовки HTTP для отправки с запросом, если URL-адрес использует протокол HTTP[s]. Каждый заголовок представлен как словарь, содержащий name ключа и либо value , либо binaryValue , ограниченное теми, которые разрешены XMLHttpRequest.

  • метод

    HttpMethod необязательно

    Метод HTTP, который следует использовать, если URL-адрес использует протокол HTTP[S].

  • сохранить как

    логическое значение необязательно

    Используйте средство выбора файлов, чтобы позволить пользователю выбирать имя файла независимо от того, задано ли filename или оно уже существует.

  • URL

    нить

    URL-адрес для загрузки.

DownloadQuery

Характеристики

  • байтыполучено

    номер необязательно

    Количество байтов, полученных на данный момент от хоста, без учета сжатия файла.

  • Опасность

    Тип опасности необязательно

    Индикация того, считается ли эта загрузка безопасной или подозрительной.

  • время окончания

    строка необязательна

    Время окончания загрузки в формате ISO 8601.

  • законченоПосле

    строка необязательна

    Ограничивает результаты DownloadItem , которые закончились после заданной мс в формате ISO 8601.

  • закончилосьДо

    строка необязательна

    Ограничивает результаты DownloadItem , которые закончились до заданной мс в формате ISO 8601.

  • ошибка

    InterruptReason необязательно

    Почему загрузка прервалась.

  • существует

    логическое значение необязательно

    Существует ли загруженный файл;

  • размер файла

    номер необязательно

    Количество байтов во всем файле после распаковки или -1, если неизвестно.

  • имя файла

    строка необязательна

    Абсолютный локальный путь.

  • имя_файлаRegex

    строка необязательна

    Ограничивает результаты DownloadItem , filename которого соответствует заданному регулярному выражению.

  • конечный URL

    строка необязательна

    Хром 54+

    Абсолютный URL-адрес, с которого осуществляется загрузка, после всех перенаправлений.

  • FinalUrlRegex

    строка необязательна

    Хром 54+

    Ограничивает результаты DownloadItem , чей finalUrl соответствует заданному регулярному выражению.

  • идентификатор

    номер необязательно

    id DownloadItem для запроса.

  • предел

    номер необязательно

    Возвращено максимальное количество соответствующих DownloadItem . По умолчанию — 1000. Установите значение 0, чтобы вернуть все соответствующие DownloadItem . См. search , чтобы узнать, как пролистывать результаты.

  • мим

    строка необязательна

    MIME-тип файла.

  • заказать по

    строка[] необязательно

    Установите элементы этого массива в свойства DownloadItem , чтобы отсортировать результаты поиска. Например, установка orderBy=['startTime'] сортирует DownloadItem по времени начала в возрастающем порядке. Чтобы указать порядок убывания, добавьте дефис в качестве префикса: «-startTime».

  • остановился

    логическое значение необязательно

    True, если загрузка прекратила чтение данных с хоста, но соединение осталось открытым.

  • запрос

    строка[] необязательно

    Этот массив условий поиска ограничивает результаты DownloadItem , filename или url -адрес которого или finalUrl содержат все условия поиска, которые не начинаются с тире «-», и ни одно из условий поиска, которые не начинаются с тире.

  • время начала

    строка необязательна

    Время начала загрузки в формате ISO 8601.

  • началосьПосле

    строка необязательна

    Ограничивает результаты DownloadItem , который начался после заданной мс в формате ISO 8601.

  • началосьДо

    строка необязательна

    Ограничивает результаты DownloadItem , который начался до заданной мс в формате ISO 8601.

  • состояние

    Государство необязательно

    Указывает, выполняется ли загрузка, прервана или завершена.

  • всего байт

    номер необязательно

    Число байтов во всем файле без учета сжатия файла или -1, если неизвестно.

  • всего байтБольшой

    номер необязательно

    Ограничивает результаты DownloadItem , чей totalBytes больше заданного целого числа.

  • всего байтов меньше

    номер необязательно

    Ограничивает результаты DownloadItem , у которого totalBytes меньше заданного целого числа.

  • URL

    строка необязательна

    Абсолютный URL-адрес, с которого была инициирована загрузка, до каких-либо перенаправлений.

  • URLRegex

    строка необязательна

    Ограничивает результаты DownloadItem , url которого соответствует заданному регулярному выражению.

FilenameConflictAction

унифицировать

Чтобы избежать дублирования, filename изменяется и включает счетчик перед расширением имени файла.

перезаписать

Существующий файл будет перезаписан новым файлом.

быстрый

Пользователю будет предложено диалоговое окно выбора файла.

Перечисление

"унифицировать"

"перезаписать"

"быстрый"

FilenameSuggestion

Характеристики

  • конфликтДействие

    FilenameConflictAction необязательно

    Действие, которое необходимо предпринять, если filename уже существует.

  • имя файла

    нить

    Новая цель DownloadItem.filename для DownloadItem как путь относительно каталога загрузок пользователя по умолчанию, возможно, содержащего подкаталоги. Абсолютные пути, пустые пути и пути, содержащие обратные ссылки «..», будут игнорироваться. filename игнорируется, если есть прослушиватели onDeterminingFilename , зарегистрированные какими-либо расширениями.

GetFileIconOptions

Характеристики

  • размер

    номер необязательно

    Размер возвращаемого значка. Значок будет квадратным с размерами размер * размер пикселей. Самый большой размер значка по умолчанию — 32x32 пикселя. Поддерживаются только размеры 16 и 32. Указание любого другого размера является ошибкой.

HeaderNameValuePair

Характеристики

  • имя

    нить

    Имя HTTP-заголовка.

  • ценить

    нить

    Значение HTTP-заголовка.

HttpMethod

Перечисление

"ПОЛУЧАТЬ"

"ПОЧТА"

InterruptReason

Перечисление

"ФАЙЛ_FAILED"

"FILE_ACCESS_DENIED"

"FILE_NO_SPACE"

"FILE_NAME_TOO_LONG"

"FILE_TOO_LARGE"

"FILE_VIRUS_INFECTED"

"FILE_TRANSIENT_ERROR"

"ФАЙЛ_БЛОКЕД"

"FILE_SECURITY_CHECK_FAILED"

"FILE_TOO_SHORT"

"FILE_HASH_MISMATCH"

"FILE_SAME_AS_SOURCE"

"NETWORK_FAILED"

"NETWORK_TIMEOUT"

"NETWORK_DISCONNECTED"

"NETWORK_SERVER_DOWN"

"NETWORK_INVALID_REQUEST"

"СЕРВЕР_FAILED"

"SERVER_NO_RANGE"

"SERVER_BAD_CONTENT"

"СЕРВЕР_НЕАВТОРИЗОВАННЫЙ"

"SERVER_CERT_PROBLEM"

"СЕРВЕР_ЗАПРЕЩЕНО"

"СЕРВЕР_UNREACHABLE"

"SERVER_CONTENT_LENGTH_MISMATCH"

"SERVER_CROSS_ORIGIN_REDIRECT"

"USER_CANCELED"

"USER_SHUTDOWN"

"КРУШЕНИЕ"

State

в ходе выполнения

Загрузка в настоящее время получает данные с сервера.

прерванный

Ошибка прервала соединение с файловым хостом.

полный

Загрузка завершилась успешно.

Перечисление

"в ходе выполнения"

"прерванный"

"полный"

StringDelta

Характеристики

  • текущий

    строка необязательна

  • предыдущий

    строка необязательна

UiOptions

Хром 105+

Характеристики

  • включено

    логическое значение

    Включите или отключите пользовательский интерфейс загрузки.

Методы

acceptDanger()

Обещать
chrome.downloads.acceptDanger(
  downloadId: number,
  callback?: function,
)

Предложите пользователю принять опасную загрузку. Может быть вызван только из видимого контекста (вкладки, окна или всплывающего окна действия на странице/браузере). Не принимает автоматически опасные загрузки. Если загрузка принята, произойдет событие onChanged , иначе ничего не произойдет. Когда все данные извлекаются во временный файл и либо загрузка не опасна, либо опасность принята, временный файл переименовывается в целевое имя файла, state меняется на «завершенное», и срабатывает onChanged .

Параметры

  • идентификатор загрузки

    число

    Идентификатор DownloadItem .

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

cancel()

Обещать
chrome.downloads.cancel(
  downloadId: number,
  callback?: function,
)

Отмените загрузку. При выполнении callback загрузка отменяется, завершается, прерывается или больше не существует.

Параметры

  • идентификатор загрузки

    число

    Идентификатор загрузки, которую необходимо отменить.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

download()

Обещать
chrome.downloads.download(
  options: DownloadOptions,
  callback?: function,
)

Загрузите URL-адрес. Если URL-адрес использует протокол HTTP[S], тогда запрос будет включать все файлы cookie, установленные в данный момент для его имени хоста. Если указаны и filename , и saveAs , то откроется диалоговое окно «Сохранить как», предварительно заполненное указанным filename . Если загрузка началась успешно, callback будет вызван с идентификатором downloadId нового DownloadItem . Если при запуске загрузки произошла ошибка, будет вызван callback с downloadId=undefined , а runtime.lastError будет содержать описательную строку. Строки ошибок не гарантированно сохраняют обратную совместимость между выпусками. Расширения не должны его анализировать.

Параметры

  • Что и как скачать.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (downloadId: number) => void

    • идентификатор загрузки

      число

Возврат

  • Обещание<число>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

erase()

Обещать
chrome.downloads.erase(
  query: DownloadQuery,
  callback?: function,
)

Удалите соответствующий DownloadItem из истории, не удаляя загруженный файл. Событие onErased будет срабатывать для каждого DownloadItem , соответствующего query , затем будет вызван callback .

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (erasedIds: number[]) => void

    • стертые идентификаторы

      число[]

Возврат

  • Обещание<номер[]>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

getFileIcon()

Обещать
chrome.downloads.getFileIcon(
  downloadId: number,
  options?: GetFileIconOptions,
  callback?: function,
)

Получите значок для указанной загрузки. Для новых загрузок значки файлов доступны после получения события onCreated . Изображение, возвращаемое этой функцией во время загрузки, может отличаться от изображения, возвращаемого после завершения загрузки. Получение значков осуществляется путем запроса базовой операционной системы или набора инструментов в зависимости от платформы. Таким образом, возвращаемый значок будет зависеть от ряда факторов, включая состояние загрузки, платформу, зарегистрированные типы файлов и визуальную тему. Если значок файла не может быть определен, runtime.lastError будет содержать сообщение об ошибке.

Параметры

  • идентификатор загрузки

    число

    Идентификатор загрузки.

  • параметры

    GetFileIconOptions необязательно.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (iconURL?: string) => void

    • значокURL

      строка необязательна

Возврат

  • Обещание<строка | не определено>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

open()

Обещать
chrome.downloads.open(
  downloadId: number,
  callback?: function,
)

Открывает загруженный файл сейчас, если DownloadItem завершен; в противном случае возвращает ошибку через runtime.lastError . Для этого метода требуется разрешение "downloads.open" в дополнение к разрешению "downloads" . Событие onChanged возникает при первом открытии элемента. Этот метод можно вызвать только в ответ на жест пользователя.

Параметры

  • идентификатор загрузки

    число

    Идентификатор загруженного файла.

  • перезвонить

    функция необязательна

    Хром 123+

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 123+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

pause()

Обещать
chrome.downloads.pause(
  downloadId: number,
  callback?: function,
)

Приостановите загрузку. Если запрос прошел успешно, загрузка будет приостановлена. В противном случае runtime.lastError содержит сообщение об ошибке. Запрос не будет выполнен, если загрузка не активна.

Параметры

  • идентификатор загрузки

    число

    Идентификатор загрузки, которую необходимо приостановить.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeFile()

Обещать
chrome.downloads.removeFile(
  downloadId: number,
  callback?: function,
)

Удалите загруженный файл, если он существует и DownloadItem завершен; в противном случае верните ошибку через runtime.lastError .

Параметры

  • идентификатор загрузки

    число

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

resume()

Обещать
chrome.downloads.resume(
  downloadId: number,
  callback?: function,
)

Возобновите приостановленную загрузку. Если запрос был успешным, загрузка продолжается и не приостановлена. В противном случае runtime.lastError содержит сообщение об ошибке. Запрос не будет выполнен, если загрузка не активна.

Параметры

  • идентификатор загрузки

    число

    Идентификатор загрузки для возобновления.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

Обещать
chrome.downloads.search(
  query: DownloadQuery,
  callback?: function,
)

Найдите DownloadItem . Установите query на пустой объект, чтобы получить все DownloadItem . Чтобы получить конкретный DownloadItem , задайте только поле id . Чтобы просмотреть большое количество элементов, установите orderBy: ['-startTime'] , установите limit на количество элементов на странице и установите startedAfter значение startTime последнего элемента на последней странице.

Параметры

Возврат

  • Обещание< DownloadItem []>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

setShelfEnabled()

Устарело с версии Chrome 117.
chrome.downloads.setShelfEnabled(
  enabled: boolean,
)

Вместо этого используйте setUiOptions .

Включите или отключите серую полку внизу каждого окна, связанного с текущим профилем браузера. Полка будет отключена до тех пор, пока ее отключит хотя бы одно расширение. Включение полки, когда хотя бы одно другое расширение отключено, приведет к возврату ошибки через runtime.lastError . В дополнение к разрешению "downloads" требуется разрешение "downloads.shelf" .

Параметры

  • включено

    логическое значение

setUiOptions()

Обещание Chrome 105+
chrome.downloads.setUiOptions(
  options: UiOptions,
  callback?: function,
)

Измените пользовательский интерфейс загрузки каждого окна, связанного с текущим профилем браузера. Если хотя бы одно расширение установило для UiOptions.enabled значение false, пользовательский интерфейс загрузки будет скрыт. Установка для UiOptions.enabled значения true, в то время как хотя бы одно другое расширение отключено, приведет к возврату ошибки через runtime.lastError . В дополнение к разрешению "downloads" требуется разрешение "downloads.ui" .

Параметры

Возврат

  • Обещание<void>

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

show()

chrome.downloads.show(
  downloadId: number,
)

Показать загруженный файл в его папке в файловом менеджере.

Параметры

  • идентификатор загрузки

    число

    Идентификатор загруженного файла.

showDefaultFolder()

chrome.downloads.showDefaultFolder()

Показать папку «Загрузки» по умолчанию в файловом менеджере.

События

onChanged

chrome.downloads.onChanged.addListener(
  callback: function,
)

При изменении любого из свойств DownloadItem , за исключением bytesReceived и estimatedEndTime , это событие срабатывает с идентификатором downloadId и объектом, содержащим измененные свойства.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (downloadDelta: DownloadDelta) => void

onCreated

chrome.downloads.onCreated.addListener(
  callback: function,
)

Это событие срабатывает с объектом DownloadItem , когда начинается загрузка.

Параметры

onDeterminingFilename

chrome.downloads.onDeterminingFilename.addListener(
  callback: function,
)

В процессе определения имени файла расширениям будет предоставлена ​​возможность переопределить целевой DownloadItem.filename . Каждое расширение не может зарегистрировать более одного прослушивателя этого события. Каждый прослушиватель должен вызвать suggest ровно один раз, синхронно или асинхронно. Если прослушиватель вызывает suggest асинхронно, он должен вернуть true . Если прослушиватель не вызывает suggest синхронно и не возвращает true , то suggest будет вызвано автоматически. DownloadItem не завершится до тех пор, пока все прослушиватели не вызовут suggest . Слушатели могут вызвать suggest без каких-либо аргументов, чтобы разрешить загрузке использовать downloadItem.filename в качестве имени файла, или передать объект suggestion для suggest , чтобы переопределить имя целевого файла. Если более чем одно расширение переопределяет имя файла, то побеждает последнее установленное расширение, чей прослушиватель передает объект suggestion для suggest . Чтобы избежать путаницы относительно того, какое расширение победит, пользователям не следует устанавливать расширения, которые могут конфликтовать. Если загрузка инициируется download и имя целевого файла известно до того, как были определены тип MIME и предварительное имя файла, вместо этого передайте filename для download .

Параметры

onErased

chrome.downloads.onErased.addListener(
  callback: function,
)

Срабатывает с downloadId когда загрузка удаляется из истории.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (downloadId: number) => void

    • идентификатор загрузки

      число