downloads.onCreated

The onCreated() event of the downloads API fires when a download begins, i.e. when downloads.download() is sucessfully invoked.

The listener is passed the downloads.DownloadItem object in question as a parameter.

Syntax

chrome.downloads.onCreated.addListener(function(downloadItem) {...})
chrome.downloads.onCreated.removeListener(listener)
chrome.downloads.onCreated.hasListener(listener)

This API is also available as browser.downloads.onCreated.*.

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. Returns true if it is listening, false otherwise.

addListener syntax

Parameters

function

A callback function that will be called when this event occurs. This function will be passed the following arguments:

downloadItem
The downloads.DownloadItem object in question.

Browser compatibility

Chrome Edge Firefox Firefox for Android Opera
Basic support Yes No 48.0 48.0 33

Examples

In this snippet, we have a button that when clicked initiates a download via a call to downloads.download(). This call triggers an downloads.onChanged event to fire, in which we check for runtime.lastError, then check to see if the download is safe via the downloads.DownloadItem object's danger property. If it is safe to download we let it continue; if not, we call downloads.cancel() to cancel the download.

var btn = document.querySelector('button');

btn.onclick = function() {
  chrome.downloads.download({ url : 'http://mdn.github.io/learning-area/html/multimedia-and-embedding/video-and-audio-content/rabbit320.mp4'});
}

chrome.downloads.onCreated.addListener(function(downloadItem) {
  if(chrome.runtime.lastError) {
    console.log(chrome.runtime.lastError);
  } else {
    if(downloadItem.danger === 'safe') {
      console.log('File safe to download — continuing');
    } else {
      chrome.downloads.cancel(downloadItem.id, function() {
        console.log('File not safe — download cancelled');
      });
    }
  }
});

Note: downloads.acceptDanger() provides an arguably more convenient mechanism to check for dangerous downloads, but it is not yet supported by Firefox or Edge.

Acknowledgements

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.

Document Tags and Contributors

 Contributors to this page: Makyen, chrisdavidmills, wbamberg
 Last updated by: Makyen,