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
BCD tables only load in the browser
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.