--- title: CustomEvent slug: Web/API/CustomEvent tags: - API - DOM - Interface - Reference - évènements translation_of: Web/API/CustomEvent ---
{{APIRef("DOM")}}
Les interfaces CustomEvent
DOM sont des évènements initialisés par une application pour n'importe quel usage.
{{AvailableInWorkers}}
CustomEvent.
Cette interface hérite des propriétés de son parent {{domxref("Event")}}:
{{Page("/fr/docs/Web/API/Event", "Propriétés")}}
Cette interface hérite les méthodes de son parent {{domxref("Event")}}:
{{Page("/fr/docs/Web/API/Event", "Méthodes")}}
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('DOM WHATWG','#interface-customevent','CustomEvent')}} | {{Spec2('DOM WHATWG')}} | Définition initial |
{{Compat("api.CustomEvent")}}
Lors du déclenchement d'un CustomEvent depuis du code privilégié (une extension, par exemple) vers du code non-privilégié (une page web par exemple), vous devez prendre en considération la sécurité. Firefox et les autres applications Gecko empêchent qu'un objet créé dans un contexte soit utilisé dans un autre, ce qui empêchera généralement les failles de sécurité, mais ces restrictions peuvent aussi empêcher votre code de s'executer comme prévu.
Lors de la création d'un objet CustomEvent, vous devez créer l'objet à partir de la même fenêtre que celle où vous déclencherez l'évenement.
// doc est une référence au contenu du document function dispatchCustomEvent(doc) { var eventDetail = Components.utils.cloneInto({foo: 'bar'}, doc.defaultView); var myEvent = doc.defaultView.CustomEvent("mytype", eventDetail); doc.dispatchEvent(myEvent); }
Notez qu'exposer une fonction permettra au script de l'exécuter avec les privilèges qu'accorde Chrome ce qui peut ouvrir une faille de sécurité.