downloads.onChanged
Событие onChanged() API downloads срабатывает при изменении любого свойства элемента downloads.DownloadItem (за исключением bytesReceived).
Обработчик получает в качестве параметра объект downloadDelta, содержащий данные downloadId объекта downloads.DownloadItem, а также состояние всех изменённых свойств.
Синтаксис
browser.downloads.onChanged.addListener(listener) browser.downloads.onChanged.removeListener(listener) browser.downloads.onChanged.hasListener(listener)
События имеют три функции:
addListener(callback)-
Добавляет обработчик на это событие.
removeListener(listener)-
Отключает прослушивание этого события. Аргумент
listener— это обработчик, который нужно удалить. hasListener(listener)-
Проверяет, зарегистрирован ли данный
listenerдля этого события. Возвращаетtrue, если обработчик зарегистрирован, иfalseв противном случае.
Синтаксис addListener
Параметры
callback-
Функция обратного вызова, которая будет вызвана при возникновении этого события. Эта функция получит следующие аргументы:
downloadDelta-
Объект
object, представляющий объектdownloads.DownloadItem, который изменился, и состояние всех изменённых в нём свойств. Более подробная информация приведена в разделе downloadDelta.
Дополнительные объекты
downloadDelta
Объект downloadDelta имеет следующие доступные свойства:
id-
Объект
integer, представляющийidизменённого элементаdownloads.DownloadItem. -
urlНеобязательно -
Объект
downloads.StringDelta, описывающий изменение вurlэлементаdownloads.DownloadItem. -
filenameНеобязательно -
Объект
downloads.StringDelta, описывающий изменение вfilenameэлементаdownloads.DownloadItem. -
dangerНеобязательно -
Объект
downloads.StringDelta, описывающий изменение вdangerэлементаdownloads.DownloadItem. -
mimeНеобязательно -
Объект
downloads.StringDelta, описывающий изменение вmimeэлементаdownloads.DownloadItem. -
startTimeНеобязательно -
Объект
downloads.StringDelta, описывающий изменение вstartTimeэлементаdownloads.DownloadItem. -
endTimeНеобязательно -
Объект
downloads.StringDelta, описывающий изменение вendTimeэлементаdownloads.DownloadItem. -
stateНеобязательно -
Объект
downloads.StringDelta, описывающий изменение вstateэлементаdownloads.DownloadItem. -
canResumeНеобязательно -
Объект
downloads.BooleanDelta, описывающий изменение статусаcanResumeэлементаdownloads.DownloadItem. -
pausedНеобязательно -
Объект
downloads.BooleanDelta, описывающий изменение статусаpausedэлементаdownloads.DownloadItem. -
errorНеобязательно -
Объект
downloads.StringDelta, описывающий изменение статусаerrorэлементаdownloads.DownloadItem. -
totalBytesНеобязательно -
Объект
downloads.DoubleDelta, описывающий изменение вtotalBytesэлементаdownloads.DownloadItem. -
fileSizeНеобязательно -
Объект
downloads.DoubleDelta, описывающий изменение вfileSizeэлементаdownloads.DownloadItem. -
existsНеобязательно -
Объект
downloads.BooleanDelta, описывающий изменение статусаexistsэлементаdownloads.DownloadItem.
Совместимость с браузерами
| Десктопные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
onChanged |
Да | 79 | 47 | ? | Да | Нет | ? | ? | 48–79 | ? | Нет | ? |
Примеры
Вывести сообщение при завершении загрузки:
function handleChanged(delta) { if (delta.state && delta.state.current === "complete") { console.log(`Download ${delta.id} has completed.`); } } browser.downloads.onChanged.addListener(handleChanged);
Примечание: Этот 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/onChanged