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(listener)
- 
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
- listener
- 
The function called when this event occurs. This function will be passed this argument: - downloadDelta
- 
An objectrepresenting thedownloads.DownloadItemobject that changed, and the status of all the properties that changed in it. See the downloadDelta section for more details.
 
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.
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);
Browser compatibility
Loading…
Note:
This API is based on Chromium's chrome.downloads API.