Question

Y at-il un bon outil là-bas qui permet aux développeurs de correctement les messages de débogage envoyés entre Windows avec postMessage ?

Ou peut-être un plugin pour Firebug?

Était-ce utile?

La solution

(à partir de 1,11 bêta 1) avec appuie cette monitorEvents(). Vous pouvez faire quelque chose comme ceci:

$("iframe").each(function(i, e) {
    console.log("Monitoring messages sent to: iframe(" + i + ")#" + $(this).attr("id"));
    monitorEvents(this.contentWindow, "message"); 

    // Send a test message to this iframe
    this.contentWindow.postMessage("Hi iframe - " + i, "*"); 
});

console.log("Monitoring messages sent to window");
monitorEvents(window, "message"); 
// Send a test message to the window
window.postMessage("Hi window", "*"); 

(@ Pierre: Merci pour mentionner que la demande de fonctionnalité )

EDIT: fonctionne également dans Chrome , mais quand J'ai essayé le code ci-dessus je rencontrais une erreur de sécurité que les valeurs de document.domain ne sont pas les mêmes, de sorte que le comportement de ces deux mises en œuvre peut être légèrement différent.

Mise à jour: J'ai a présenté une fonctionnalité demander à l'équipe Chrome demandant que les événements postMessage apparaissent dans la timeline. En outre, j'ai trouvé un extension appelée JScript Tricks qui peut injecter du code JavaScript arbitraire dans une page quand il est chargé. Vous pouvez ajouter le code suivant pour surveiller les événements une fois la page se charge. Il fonctionne très bien, mais il pourrait manquer des événements qui se produisent immédiatement (par exemple avant onload, si cela est possible).

(function($) {
    var $window = $(window);
    $window.add("iframe").on("message", function(e) {
        console.log("Received messsage from " + e.originalEvent.origin + ", data = " + e.originalEvent.data);
    });
})(jQuery);

Autres conseils

fonction de demande a été émise.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top