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.
browser.downloads.onChanged.addListener(listener) browser.downloads.onChanged.removeListener(listener) browser.downloads.onChanged.hasListener(listener)
Events have three functions:
addListener(callback)
removeListener(listener)
listener
argument is the listener to remove.hasListener(listener)
listener
is registered for this event. Returns true
if it is listening, false
otherwise.callback
A callback function that will be called when this event occurs. This function will be passed the following arguments:
downloadDelta
object
representing the downloads.DownloadItem
object that changed, and the status of all the properties that changed in it.The downloadDelta
object has the following properties available:
id
integer
representing the id
of the downloads.DownloadItem
that changed.url
Optional
downloads.StringDelta
object describing a change in a downloads.DownloadItem
's url
.filename
Optional
downloads.StringDelta
object describing a change in a downloads.DownloadItem
's filename
.danger
Optional
downloads.StringDelta
object describing a change in a downloads.DownloadItem
's danger
.mime
Optional
downloads.StringDelta
object describing a change in a downloads.DownloadItem
's mime
.startTime
Optional
downloads.StringDelta
object describing a change in a downloads.DownloadItem
's startTime
.endTime
Optional
downloads.StringDelta
object describing a change in a downloads.DownloadItem
's endTime
.state
Optional
downloads.StringDelta
object describing a change in a downloads.DownloadItem
's state
.canResume
Optional
downloads.BooleanDelta
object describing a change in a downloads.DownloadItem
's canResume
status.paused
Optional
downloads.BooleanDelta
object describing a change in a downloads.DownloadItem
's paused
status.error
Optional
downloads.StringDelta
object describing a change in a downloads.DownloadItem
's error
status.totalBytes
Optional
downloads.DoubleDelta
object describing a change in a downloads.DownloadItem
's totalBytes
.fileSize
Optional
downloads.DoubleDelta
object describing a change in a downloads.DownloadItem
's fileSize
.exists
Optional
downloads.BooleanDelta
object describing a change in a downloads.DownloadItem
's exists
status.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 |
? |
? |
? |
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