downloads.onChanged
===================

L'événement **`onChanged()`** de l'API `downloads` est déclenché lorsque l'une des propriétés de `downloads.DownloadItem` change (à l'exception de `bytesReceived`).

L'écouteur reçoit un fichier `downloadDelta` en tant que paramètre — un objet contenant le `downloadId` de l'objet `downloads.DownloadItem` en question, plus le statut de toutes les propriétés qui ont changé.

Syntaxe
-------


```js
browser.downloads.onChanged.addListener(listener);
browser.downloads.onChanged.removeListener(listener);
browser.downloads.onChanged.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

Ajoute un écouteur à cet événement.

`removeListener(listener)`

Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.

`hasListener(listener)`

Vérifiez si un `listener` donné est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`.

Syntaxe addListener
-------------------

### Parameters

`callback`

Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :

`downloadDelta`

Un `objet` représentant l'objet `downloads.DownloadItem` qui a été modifié, ainsi que l'état de toutes les propriétés qui y ont été modifiées.


Objets supplémentaires
----------------------

### downloadDelta

L'objet `downloadDelta` a les propriétés suivantes disponibles :

`id`

Un `integer` représentant l'identifiant de l'`id` `downloads.DownloadItem` qui a changé.

`url`Facultatif

Un objet `downloads.StringDelta` décrivant une modification d'une `url` `downloads.DownloadItem`.

`filename`Facultatif

Un objet `downloads.StringDelta` décrivant un changement dans un `filename` `downloads.DownloadItem`

`danger`Facultatif

Un objet `downloads.StringDelta` décrivant un changement dans un `danger` `downloads.DownloadItem`.

`mime`Facultatif

Un objet `downloads.StringDelta` décrivant un changement dans un `mime` `downloads.DownloadItem`

`startTime`Facultatif

Un objet `downloads.StringDelta` décrivant un changement dans un `startTime` `downloads.DownloadItem`.

`endTime`Facultatif

Un objet `downloads.StringDelta` décrivant un changement dans un `endTime` `downloads.DownloadItem`.

`state`Facultatif

Un objet `downloads.StringDelta` décrivant un changement dans un `état` `downloads.DownloadItem`

`canResume`Facultatif

Un objet `downloads.BooleanDelta` décrivant un changement dans un état `downloads.DownloadItem` `canResume`.

`paused`Facultatif

Un objet `downloads.BooleanDelta` décrivant un changement dans un état en `pause` `downloads.DownloadItem`.

`error`Facultatif

Un objet `downloads.StringDelta` décrivant un changement dans un état d'`erreur` `downloads.DownloadItem`.

`totalBytes`Facultatif

Un objet `downloads.DoubleDelta` décrivant un changement dans un `totalBytes` `downloads.DownloadItem`.

`fileSize`Facultatif

Un objet `downloads.DoubleDelta` décrivant une modification d'un `fileSize` `downloads.DownloadItem`.

`exists`Facultatif

Un objet `downloads.BooleanDelta` décrivant un changement dans un état `downloads.DownloadItem`.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Exemples
--------

Enregistrez un message lorsque les téléchargements sont terminés :


```js
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.