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
listener
argument is the listener to remove. hasListener(listener)
- Check whether a given
listener
is registered for this event. Returnstrue
if it is listening,false
otherwise.
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
object
representing thedownloads.DownloadItem
object 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
integer
representing theid
of thedownloads.DownloadItem
that changed. -
url
Optional - A
downloads.StringDelta
object describing a change in adownloads.DownloadItem
'surl
. -
filename
Optional - A
downloads.StringDelta
object describing a change in adownloads.DownloadItem
'sfilename
. -
danger
Optional - A
downloads.StringDelta
object describing a change in adownloads.DownloadItem
'sdanger
. -
mime
Optional - A
downloads.StringDelta
object describing a change in adownloads.DownloadItem
'smime
. -
startTime
Optional - A
downloads.StringDelta
object describing a change in adownloads.DownloadItem
'sstartTime
. -
endTime
Optional - A
downloads.StringDelta
object describing a change in adownloads.DownloadItem
'sendTime
. -
state
Optional - A
downloads.StringDelta
object describing a change in adownloads.DownloadItem
'sstate
. -
canResume
Optional - A
downloads.BooleanDelta
object describing a change in adownloads.DownloadItem
'scanResume
status. -
paused
Optional - A
downloads.BooleanDelta
object describing a change in adownloads.DownloadItem
'spaused
status. -
error
Optional - A
downloads.StringDelta
object describing a change in adownloads.DownloadItem
'serror
status. -
totalBytes
Optional - A
downloads.DoubleDelta
object describing a change in adownloads.DownloadItem
'stotalBytes
. -
fileSize
Optional - A
downloads.DoubleDelta
object describing a change in adownloads.DownloadItem
'sfileSize
. -
exists
Optional - A
downloads.BooleanDelta
object describing a change in adownloads.DownloadItem
'sexists
status.
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