downloads.onChanged
The onChanged() event of the downloads API is fired when any of a downloads.DownloadItem's properties changes (except for bytesReceived).
The listener is passed a downloadDelta as a parameter — an object containing the downloadId of the downloads.DownloadItem object in question, plus the status of all the properties that changed.
Syntax
browser.downloads.onChanged.addListener(listener) browser.downloads.onChanged.removeListener(listener) browser.downloads.onChanged.hasListener(listener)
Events have three functions:
addListener(callback)- Adds a listener to this event.
removeListener(listener)- Stop listening to this event. The
listenerargument is the listener to remove. hasListener(listener)- Check whether a given
listeneris registered for this event. Returnstrueif it is listening,falseotherwise.
addListener syntax
Parameters
callback-
A callback function that will be called when this event occurs. This function will be passed the following arguments:
downloadDelta- An
objectrepresenting thedownloads.DownloadItemobject that changed, and the status of all the properties that changed in it.
Additional objects
downloadDelta
The downloadDelta object has the following properties available:
id- An
integerrepresenting theidof thedownloads.DownloadItemthat changed. -
urlOptional - A
downloads.StringDeltaobject describing a change in adownloads.DownloadItem'surl. -
filenameOptional - A
downloads.StringDeltaobject describing a change in adownloads.DownloadItem'sfilename. -
dangerOptional - A
downloads.StringDeltaobject describing a change in adownloads.DownloadItem'sdanger. -
mimeOptional - A
downloads.StringDeltaobject describing a change in adownloads.DownloadItem'smime. -
startTimeOptional - A
downloads.StringDeltaobject describing a change in adownloads.DownloadItem'sstartTime. -
endTimeOptional - A
downloads.StringDeltaobject describing a change in adownloads.DownloadItem'sendTime. -
stateOptional - A
downloads.StringDeltaobject describing a change in adownloads.DownloadItem'sstate. -
canResumeOptional - A
downloads.BooleanDeltaobject describing a change in adownloads.DownloadItem'scanResumestatus. -
pausedOptional - A
downloads.BooleanDeltaobject describing a change in adownloads.DownloadItem'spausedstatus. -
errorOptional - A
downloads.StringDeltaobject describing a change in adownloads.DownloadItem'serrorstatus. -
totalBytesOptional - A
downloads.DoubleDeltaobject describing a change in adownloads.DownloadItem'stotalBytes. -
fileSizeOptional - A
downloads.DoubleDeltaobject describing a change in adownloads.DownloadItem'sfileSize. -
existsOptional - A
downloads.BooleanDeltaobject describing a change in adownloads.DownloadItem'sexistsstatus.
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
onChanged |
Yes |
79 |
47 |
? |
Yes |
No |
? |
? |
48-79 |
? |
? |
? |
Examples
Log a message when downloads complete:
function handleChanged(delta) { if (delta.state && delta.state.current === "complete") { console.log(`Download ${delta.id} has completed.`); } } browser.downloads.onChanged.addListener(handleChanged);
Note: This API is based on Chromium's chrome.downloads API.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
© 2005–2021 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