Это разрешение вызывает предупреждение
Описание
 Используйте API chrome.downloads для программного инициирования, мониторинга, управления и поиска загрузок.
Разрешения
downloadsМанифест
 Для использования этого API необходимо объявить разрешение "downloads" в манифесте расширения .
{
  "name": "My extension",
  ...
  "permissions": [
    "downloads"
  ],
  ...
}
Примеры
 Простые примеры использования API chrome.downloads можно найти в каталоге examples/api/downloads . Другие примеры и помощь с просмотром исходного кода см. в разделе «Примеры» .
Типы
BooleanDelta
Характеристики
- текущийлогическое необязательное 
- предыдущийлогическое необязательное 
DangerType
файл
Имя файла загрузки подозрительно.
URL-адрес
Известно, что URL-адрес загрузки является вредоносным.
содержание
Известно, что загруженный файл является вредоносным.
необычный
URL-адрес загрузки обычно не загружается и может быть опасен.
хозяин
Загрузка произошла с хоста, который, как известно, распространяет вредоносные двоичные файлы и, вероятно, представляет опасность.
нежелательный
Загрузка потенциально нежелательна или небезопасна. Например, она может внести изменения в настройки браузера или компьютера.
безопасный
Загрузка не представляет никакой известной опасности для компьютера пользователя.
принял
Пользователь принял опасную загрузку.
Перечисление
 "файл"   "url"   "содержание"   "необычный"   "хозяин"   "нежелательный"   "безопасный"   "принял"   "allowlistedByPolicy"   "асинхронное сканирование"   "asyncLocalPasswordScanning"   "passwordProtected"   "blockedTooLarge"   "sensitiveContentWarning"   "sensitiveContentBlock"   "deepScannedFailed"   "deepScannedSafe"   "deepScannedOpenedDangerous"   "promptForScanning"   "promptForLocalPasswordScanning"   "accountCompromise"   "blockedScanFailed" 
DoubleDelta
Характеристики
- текущийномер необязательно 
- предыдущийномер необязательно 
DownloadDelta
Характеристики
- canResumeBooleanDelta необязательный Изменение в canResume, если таковое имеется.
- ОпасностьStringDelta необязательно Изменение danger, если таковое имеется.
- время окончанияStringDelta необязательно Изменение endTime, если таковое имеется.
- ошибкаStringDelta необязательно Изменение в error, если таковое имеется.
- существуетBooleanDelta необязательный Изменение exists, если таковое имеется.
- размер файлаDoubleDelta опционально Изменение fileSize, если таковое имеется.
- имя файлаStringDelta необязательно Изменение filename, если таковое имеется.
- finalUrlStringDelta необязательно Хром 54+Изменение finalUrl, если таковое имеется.
- идентификаторчисло idизмененногоDownloadItem.
- пантомимаStringDelta необязательно Изменение mime, если таковое имеется.
- приостановленоBooleanDelta необязательный Изменение paused, если таковое имеется.
- время началаStringDelta необязательно Изменение startTime, если таковое имеется.
- состояниеStringDelta необязательно Изменение state, если таковое имеется.
- всего байтDoubleDelta опционально Изменение totalBytes, если таковое имеется.
- URL-адресStringDelta необязательно Изменение url, если таковое имеется.
DownloadItem
Характеристики
- поExtensionIdстрока необязательная Идентификатор расширения, инициировавшего эту загрузку, если эта загрузка была инициирована расширением. Не изменяется после установки. 
- поИмениРасширениястрока необязательная Локализованное название расширения, инициировавшего эту загрузку, если загрузка была инициирована расширением. Может измениться, если расширение изменит своё название или пользователь сменит локаль. 
- Получено байтчисло Количество байтов, полученных на данный момент от хоста, без учета сжатия файла. 
- canResumeбулев 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, если неизвестно. 
- имя файланить Абсолютный локальный путь. 
- finalUrlнить Хром 54+Абсолютный URL-адрес, с которого производится загрузка, после всех перенаправлений. 
- идентификаторчисло Идентификатор, который сохраняется между сеансами браузера. 
- инкогнитобулев False, если данная загрузка записана в истории, true, если не записана. 
- пантомиманить Тип MIME файла. 
- приостановленобулев Истина, если загрузка прекратила чтение данных с хоста, но оставила соединение открытым. 
- реферернить Абсолютный 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
Характеристики
- Получено байтномер необязательно Количество байтов, полученных на данный момент от хоста, без учета сжатия файла. 
- ОпасностьDangerType необязательный Указание того, считается ли данная загрузка безопасной или заведомо подозрительной. 
- время окончаниястрока необязательная Время окончания загрузки в формате ISO 8601. 
- закончилсяПослестрока необязательная Ограничивает результаты DownloadItem, которые закончились после заданной мс в формате ISO 8601.
- закончилсяДострока необязательная Ограничивает результаты DownloadItem, которые закончились до заданной мс в формате ISO 8601.
- ошибкаInterruptReason (необязательно) Почему загрузка была прервана. 
- существуетлогическое необязательное Существует ли загруженный файл; 
- размер файланомер необязательно Количество байтов во всем файле после распаковки или -1, если неизвестно. 
- имя файластрока необязательная Абсолютный локальный путь. 
- имя_файлаRegexстрока необязательная Ограничивает результаты DownloadItem,filenameкоторого соответствует заданному регулярному выражению.
- finalUrlстрока необязательная Хром 54+Абсолютный URL-адрес, с которого производится загрузка, после всех перенаправлений. 
- finalUrlRegexстрока необязательная Хром 54+Ограничивает результаты DownloadItem,finalUrlкоторого соответствует заданному регулярному выражению.
- идентификаторномер необязательно idDownloadItemдля запроса.
- пределномер необязательно Максимальное количество возвращаемых соответствующих DownloadItem. Значение по умолчанию — 1000. Установите значение 0, чтобы вернуть все соответствующиеDownloadItem. Инструкции по пролистыванию результатов см. в разделеsearch.
- пантомимастрока необязательная Тип MIME файла. 
- заказ построка[] необязательная Присвойте элементам этого массива свойства DownloadItemдля сортировки результатов поиска. Например, установкаorderBy=['startTime']сортируетDownloadItemпо времени начала в порядке возрастания. Чтобы задать порядок убывания, добавьте дефис: '-startTime'.
- приостановленологическое необязательное Истина, если загрузка прекратила чтение данных с хоста, но оставила соединение открытым. 
- запросстрока[] необязательная Этот массив поисковых терминов ограничивает результаты DownloadItem,filename,urlилиfinalUrlкоторого содержат все поисковые термины, которые не начинаются с дефиса «-», и ни одного поискового термина, который начинается с дефиса.
- время началастрока необязательная Время начала загрузки в формате ISO 8601. 
- началосьПослестрока необязательная Ограничивает результаты DownloadItem, начавшимися после заданной мс в формате ISO 8601.
- началДострока необязательная Ограничивает результаты DownloadItem, которые начались до указанной мс в формате ISO 8601.
- состояниеСостояние необязательное Указывает, выполняется ли загрузка, прервана или завершена. 
- всего байтномер необязательно Количество байтов во всем файле без учета сжатия файла или -1, если неизвестно. 
- totalBytesGreaterномер необязательно Ограничивает результаты до DownloadItem,totalBytesкоторого больше заданного целого числа.
- totalBytesLessномер необязательно Ограничивает результаты до DownloadItem,totalBytesкоторого меньше заданного целого числа.
- URL-адресстрока необязательная Абсолютный URL-адрес, с которого была начата эта загрузка, до каких-либо перенаправлений. 
- urlRegexстрока необязательная Ограничивает результаты DownloadItem,urlкоторого соответствует заданному регулярному выражению.
FilenameConflictAction
uniquify
 Чтобы избежать дублирования, имя filename изменено таким образом, чтобы перед расширением имени файла был добавлен счетчик.
перезаписать
Существующий файл будет перезаписан новым файлом.
быстрый
Пользователю будет предложено диалоговое окно выбора файла.
Перечисление
 "уникифицировать"   "перезаписать"   "быстрый" 
FilenameSuggestion
Характеристики
- конфликтДействиеFilenameConflictAction (необязательно) Действие, которое следует предпринять, если filenameуже существует.
- имя файланить Новый целевой объект DownloadItem—DownloadItem.filename— как путь относительно каталога «Загрузки» пользователя по умолчанию, возможно, содержащего подкаталоги. Абсолютные пути, пустые пути и пути, содержащие обратные ссылки «..», будут игнорироваться.filenameигнорируется, если зарегистрированы прослушивателиonDeterminingFilenameдля любых расширений.
GetFileIconOptions
Характеристики
- размерномер необязательно Размер возвращаемого значка. Значок будет квадратным с размерами, умноженными на размер (размер) * (размер) пикселей. Максимальный размер значка по умолчанию — 32x32 пикселя. Поддерживаются только размеры 16 и 32. Указание любого другого размера будет ошибкой. 
HeaderNameValuePair
Характеристики
- имянить Имя HTTP-заголовка. 
- ценитьнить Значение заголовка HTTP. 
HttpMethod
Перечисление
 "ПОЛУЧАТЬ"   "ПОЧТА" 
InterruptReason
Перечисление
 "FILE_FAILED"   "ДОСТУП К ФАЙЛУ ЗАПРЕЩЕН"   "FILE_NO_SPACE"   "FILE_NAME_TOO_LONG"   "ФАЙЛ_СЛИШКОМ_БОЛЬШОЙ"   "FILE_VIRUS_INFECTED"   "FILE_TRANSIENT_ERROR"   "ФАЙЛ_ЗАБЛОКИРОВАН"   "FILE_SECURITY_CHECK_FAILED"   "ФАЙЛ_СЛИШКОМ_КОРОТКИЙ"   "FILE_HASH_MISMATCH"   "FILE_SAME_AS_SOURCE"   "NETWORK_FAILED"   "NETWORK_TIMEOUT"   "СЕТЬ_ОТКЛЮЧЕНА"   "СЕТЕВОЙ_СЕРВЕР_ОТКЛЮЧЕН"   "NETWORK_INVALID_REQUEST"   "СЕРВЕР_ОШИБСЯ"   "SERVER_NO_RANGE"   "SERVER_BAD_CONTENT"   "СЕРВЕР_НЕАВТОРИЗОВАН"   "SERVER_CERT_PROBLEM"   "SERVER_FORBIDDEN"   "СЕРВЕР_НЕДОСТУПЕН"   "SERVER_CONTENT_LENGTH_MISMATCH"   "SERVER_CROSS_ORIGIN_REDIRECT"   "USER_CANCELED"   "USER_SHUTDOWN"   "КРУШЕНИЕ" 
State
в ходе выполнения
В настоящее время загрузка получает данные с сервера.
прерванный
Произошла ошибка, приведшая к разрыву соединения с файловым хостом.
полный
Загрузка успешно завершена.
Перечисление
 "в ходе выполнения"   "прерванный"   "полный" 
StringDelta
Характеристики
- текущийстрока необязательная 
- предыдущийстрока необязательная 
UiOptions
Характеристики
- включенобулев Включить или отключить пользовательский интерфейс загрузки. 
Методы
acceptDanger()
chrome.downloads.acceptDanger(
downloadId: number,
callback?: function,
): Promise<void>
 Предлагает пользователю принять опасную загрузку. Может быть вызван только из видимого контекста (вкладки, окна или всплывающего окна действия страницы/браузера). Не принимает опасные загрузки автоматически. Если загрузка принята, срабатывает событие onChanged , в противном случае ничего не происходит. Когда все данные загружены во временный файл и загрузка либо не является опасной, либо угроза принята, временный файл переименовывается в целевой файл, state меняется на «завершено» и срабатывает событие onChanged . 
Параметры
- downloadIdчисло Идентификатор DownloadItem.
- перезвонитьфункция необязательна Параметр callbackвыглядит так:() => void 
Возврат
- Обещание<void> Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
cancel()
chrome.downloads.cancel(
downloadId: number,
callback?: function,
): Promise<void>
 Отмена загрузки. При выполнении callback загрузка отменяется, завершается, прерывается или прекращается. 
Параметры
- downloadIdчисло Идентификатор отменяемой загрузки. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:() => void 
Возврат
- Обещание<void> Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
download()
chrome.downloads.download(
options: DownloadOptions,
callback?: function,
): Promise<number>
 Загрузите URL-адрес. Если URL-адрес использует протокол HTTP[S], запрос будет включать все файлы cookie, установленные для этого имени хоста. Если указаны и filename , и saveAs , будет отображено диалоговое окно «Сохранить как» с предварительно заполненным указанным filename . Если загрузка началась успешно, будет вызван callback с новым значением downloadId для DownloadItem . Если при запуске загрузки произошла ошибка, будет вызван callback с downloadId=undefined , а runtime.lastError будет содержать описательную строку. Обратная совместимость строк ошибок между версиями не гарантируется. Расширения не должны анализировать их. 
Параметры
- параметрыЧто скачивать и как. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(downloadId: number) => void - downloadIdчисло 
 
Возврат
- Обещание<номер> Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
erase()
chrome.downloads.erase(
query: DownloadQuery,
callback?: function,
): Promise<number[]>
 Удалить соответствующий DownloadItem из истории, не удаляя загруженный файл. Событие onErased сработает для каждого DownloadItem , соответствующего query , после чего будет вызван callback . 
Параметры
- запрос
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(erasedIds: number[]) => void - стертые идентификаторычисло[] 
 
Возврат
- Обещание<число[]> Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getFileIcon()
chrome.downloads.getFileIcon(
downloadId: number,
options?: GetFileIconOptions,
callback?: function,
): Promise<string | undefined>
 Получает значок для указанной загрузки. Для новых загрузок значки файлов становятся доступны после получения события onCreated . Изображение, возвращаемое этой функцией во время загрузки, может отличаться от изображения, возвращаемого после её завершения. Получение значка выполняется путём запроса к базовой операционной системе или набору инструментов в зависимости от платформы. Таким образом, возвращаемый значок будет зависеть от ряда факторов, включая состояние загрузки, платформу, зарегистрированные типы файлов и визуальную тему. Если значок файла определить не удаётся, runtime.lastError будет содержать сообщение об ошибке. 
Параметры
- downloadIdчисло Идентификатор загрузки. 
- параметрыGetFileIconOptions необязательно 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(iconURL?: string) => void - iconURLстрока необязательная 
 
Возврат
- Обещание<строка | не определено> Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
open()
chrome.downloads.open(
downloadId: number,
callback?: function,
): Promise<void>
 Открывает загруженный файл немедленно, если DownloadItem завершён; в противном случае возвращает ошибку через runtime.lastError . Для этого метода требуется разрешение "downloads.open" в дополнение к разрешению "downloads" . Событие onChanged срабатывает при первом открытии элемента. Этот метод может быть вызван только в ответ на жест пользователя. 
Параметры
- downloadIdчисло Идентификатор загруженного файла. 
- перезвонитьфункция необязательна Хром 123+Параметр callbackвыглядит так:() => void 
Возврат
- Обещание<void> Хром 123+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
pause()
chrome.downloads.pause(
downloadId: number,
callback?: function,
): Promise<void>
 Приостановите загрузку. Если запрос выполнен успешно, загрузка будет приостановлена. В противном случае runtime.lastError содержит сообщение об ошибке. Запрос завершится ошибкой, если загрузка неактивна. 
Параметры
- downloadIdчисло Идентификатор загрузки, которую необходимо приостановить. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:() => void 
Возврат
- Обещание<void> Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
removeFile()
chrome.downloads.removeFile(
downloadId: number,
callback?: function,
): Promise<void>
 Удалить загруженный файл, если он существует и DownloadItem завершен; в противном случае вернуть ошибку через runtime.lastError . 
Параметры
- downloadIdчисло 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:() => void 
Возврат
- Обещание<void> Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
resume()
chrome.downloads.resume(
downloadId: number,
callback?: function,
): Promise<void>
 Возобновление приостановленной загрузки. Если запрос выполнен успешно, загрузка продолжается и возобновлена. В противном случае runtime.lastError содержит сообщение об ошибке. Запрос завершится ошибкой, если загрузка неактивна. 
Параметры
- downloadIdчисло Идентификатор загрузки для возобновления. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:() => void 
Возврат
- Обещание<void> Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
search()
chrome.downloads.search(
query: DownloadQuery,
callback?: function,
): Promise<DownloadItem[]>
 Найдите DownloadItem . Задайте query к пустому объекту, чтобы получить все DownloadItem . Чтобы получить конкретный DownloadItem , задайте только поле id . Для просмотра большого количества элементов установите orderBy: ['-startTime'] , задайте limit на количество элементов на странице и укажите startedAfter равным startTime последнего элемента с последней страницы. 
Параметры
- запрос
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(results: DownloadItem[]) => void - результатыDownloadItem [] 
 
Возврат
- Обещание< DownloadItem []> Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
setShelfEnabled()
chrome.downloads.setShelfEnabled(
enabled: boolean,
): void
 Вместо этого используйте setUiOptions .
 Включить или отключить серую панель в нижней части каждого окна, связанного с текущим профилем браузера. Панель будет отключена, если хотя бы одно расширение её отключит. Включение панели при отключенном хотя бы одном другом расширении приведёт к ошибке runtime.lastError . Требуется разрешение "downloads.shelf" в дополнение к разрешению "downloads" . 
Параметры
- включенобулев 
setUiOptions()
chrome.downloads.setUiOptions(
options: UiOptions,
callback?: function,
): Promise<void>
 Изменить пользовательский интерфейс загрузки для каждого окна, связанного с текущим профилем браузера. Если хотя бы одно расширение установило значение UiOptions.enabled равным false, пользовательский интерфейс загрузки будет скрыт. Установка значения UiOptions.enabled равным true при отключении хотя бы одного другого расширения приведёт к ошибке runtime.lastError . Требуется разрешение "downloads.ui" в дополнение к разрешению "downloads" . 
Параметры
- параметрыИнкапсулировать изменение пользовательского интерфейса загрузки. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:() => void 
Возврат
- Обещание<void> - Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
show()
chrome.downloads.show(
downloadId: number,
): void
Показать загруженный файл в его папке в файловом менеджере.
Параметры
- downloadIdчисло Идентификатор загруженного файла. 
showDefaultFolder()
chrome.downloads.showDefaultFolder(): void
Показывать папку «Загрузки» по умолчанию в файловом менеджере.
События
onChanged
chrome.downloads.onChanged.addListener(
callback: function,
)
 При изменении любого из свойств DownloadItem , за исключением bytesReceived и estimatedEndTime , это событие срабатывает с downloadId и объектом, содержащим измененные свойства. 
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(downloadDelta: DownloadDelta) => void - скачатьDelta
 
onCreated
chrome.downloads.onCreated.addListener(
callback: function,
)
 Это событие срабатывает вместе с объектом DownloadItem , когда начинается загрузка. 
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(downloadItem: DownloadItem) => void - скачатьЭлемент
 
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 . 
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(downloadItem: DownloadItem, suggest: function) => void - скачатьЭлемент
- предлагатьфункция Параметр suggestвыглядит так:(suggestion?: FilenameSuggestion) => void - предположениеИмя файлаПредложение необязательно 
 
 
onErased
chrome.downloads.onErased.addListener(
callback: function,
)
 Срабатывает вместе с downloadId , когда загрузка удаляется из истории. 
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(downloadId: number) => void - downloadIdчисло