120 votes

Comment utiliser la journalisation de la console dans Internet Explorer ?

Existe-t-il un enregistreur de console pour IE ? J'essaie d'enregistrer une série de tests/assertions dans la console, mais je ne peux pas le faire dans IE.

8 votes

Attention ! console.log() ne fonctionne que lorsque l'outil de développement d'IE est ouvert (oui IE est merdique). voir stackoverflow.com/questions/7742781/

1 votes

Utiliser le wrapper cross-browser : github.com/MichaelZelensky/log.js

149voto

Craig Points 2871

Vous pouvez accéder à la console script d'IE8 en lançant les "Outils du développeur" (F12). Cliquez sur l'onglet "script", puis sur "Console" à droite.

À partir de votre code JavaScript, vous pouvez effectuer l'une des opérations suivantes :

<script type="text/javascript">
    console.log('some msg');
    console.info('information');
    console.warn('some warning');
    console.error('some error');
    console.assert(false, 'YOU FAIL');
</script>

Vous pouvez également effacer la console en appelant console.clear() .

NOTE : Il semble que vous deviez d'abord lancer les outils de développement, puis actualiser votre page pour que cela fonctionne.

0 votes

Ce n'est que pour IE8+, mais c'est une très bonne console. C'est en fait une réplique de Firebug, à laquelle il manque quelques fonctionnalités et qui en ajoute d'autres. Cherchez-la sur MSDN.

2 votes

Ah, même s'il n'est pas à la hauteur de Firebug, il a juste assez de ce dont j'ai besoin. Je vous remercie.

1 votes

Lien vers MSDN

24voto

Tim Down Points 124501

Depuis la version 8, Internet Explorer dispose de sa propre console, comme les autres navigateurs. Cependant, si la console n'est pas activée, la fenêtre console n'existe pas et un appel à console.log provoquera une erreur.

Une autre option consiste à utiliser log4javascript (full disclosure : écrit par moi), qui a sa propre console de journalisation qui fonctionne dans tous les navigateurs courants, y compris IE >= 5, plus un wrapper pour la console du navigateur qui évite le problème d'undefined console .

0 votes

Hah Il y a quelques mois, j'ai écrit quelque chose de similaire. Bon travail !

0 votes

@Tim Down il y a une solution de contournement pour cela stackoverflow.com/a/13817235/3057246

14voto

Simon_Weaver Points 31141

Extrêmement important si l'on utilise console.log() en production :

si vous finissez par libérer console.log() Les commandes à la production doivent être accompagnées d'un correctif pour IE - parce que console n'est défini que lorsqu'en F12 mode de débogage.

if (typeof console == "undefined") {
    this.console = { log: function (msg) { alert(msg); } };
}

[supprimez évidemment l'instruction alert(msg) ; une fois que vous avez vérifié que cela fonctionne].

Voir aussi 'console' est une erreur non définie pour Internet Explorer pour d'autres solutions et plus de détails

9voto

Daniel DiPaolo Points 24085

Il y a Firebug Lite qui offre de nombreuses fonctionnalités de Firebug dans IE.

5voto

dbrin Points 10155

Une simple cale pour IE7 et les versions inférieures qui préserve la numérotation des lignes pour les autres navigateurs :

/* console shim*/
(function () {
    var f = function () {};
    if (!window.console) {
        window.console = {
            log:f, info:f, warn:f, debug:f, error:f
        };
    }
}());

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X