2010-12-07 4 views

Répondre

2

Voir this thread. (Pas un doublon exact, mais lié).

Je n'ai pas trouvé un moyen de lire la sortie de la console, mais si tout ce qui vous intéresse est de capturer vos messages :: log(), vous pouvez surcharger la méthode .log() ou créer la vôtre écrirait vos messages de journal un autre conteneur, puis appelez .log().

var myLogStr=''; 

function myLog(str) 
{ 
    if(console) console.log(str); 
    myLogString+=str+'\n'; 
} 

Bien sûr, tous les objets Firebug (console, etc.) existent dans les DOM, de sorte que vous pouvez retrouver l'ID de la fenêtre de la console et récupérer le contenu directement.

Mise à jour

Firebug also offers some events that you can hook into, qui peut fournir un moyen d'intercepter les erreurs, etc.

+3

oh l'ironie - j'ai écrit la réponse haut voté sur cette question ... – nickf

+0

LOL ... Je Je n'avais pas remarqué ça. Je vous ai mis à jour sur ce fil. Je pense que cela vaut la peine soit d'ouvrir une question sur la liste Firebug ou d'explorer le DOM avec FireBug en cours d'exécution pour trouver les internes de l'objet console, cependant. Ce serait bien de capturer la sortie d'erreur, etc. –

+0

Le lien est mort malheureusement – Sebas

5

Sans emballage window.console vous, je ne crois pas que ce soit possible. En regardant la source, il semble que lorsque la méthode console d'un Firebug (exécutée dans le document principal et n'ayant donc pas de privilèges spéciaux) est appelée, elle laisse des objets dans le document principal, puis déclenche un événement personnalisé. Un écouteur Firebug s'exécutant dans privileged-plug-in-land récupère l'événement, engloutit les objets restants dans le document et ajoute des éléments appropriés au panneau de la console, qui fait partie du chrome du navigateur et donc inaccessible à JavaScript dans le main fenêtre. Je peux me tromper sur les détails de ceci parce que j'ai seulement jeté un coup d'oeil rapide à la source de Firebug et ai fait très peu de développement de plug-in de Firefox, mais je pense que c'est globalement correct.

5

Paul irlandais créé une enveloppe pour console.log qui devrait résoudre votre problème, consultez here

Questions connexes