Est-il possible de transmettre des données supplémentaires via des événements personnalisés?

J'ai besoin de passer des données entre deux autonome userscripts - idéalement w/o de toucher le unsafeWindow objet - et j'ai pensé à utiliser des événements serait la voie à suivre. J'ai pensé à quelque chose comme ceci (faisons abstraction de la MSIE modèle pour les fins de l'exemple):

addEventListener("customEvent", function(e) {
  alert(e.data);
});

var custom = document.createEvent("HTMLEvents");
custom.initEvent("customEvent", true, true);
custom.data = "Some data...";
dispatchEvent(custom);

Cela fonctionne bien dans la norme de l'environnement javascript et à l'intérieur d'un script, mais lorsque l'événement est déclenché par le script et pris à l'extérieur ou à l'intérieur d'un autre script, le data propriété est undefined dans chrome. Je suppose que je pourrais juste enregistrer les données passées dans le sessionStorage, mais il est loin d'être homogène. Toutes les autres solutions élégantes, messieurs et gentlewomen? La Perfection besoin et peut être atteint, je peux le sentir.

InformationsquelleAutor Witiko | 2012-02-23