Comment imprimer des messages de débogage dans la console JavaScript de Google Chrome?
Veuillez noter que la console JavaScript n'est pas la même chose que le débogueur JavaScript; ils ont différentes syntaxes AFAIK, donc la commande d' impression dans le débogueur JavaScript ne fonctionnera pas ici. Dans la console JavaScript, print()
enverra le paramètre à l'imprimante.
javascript
console
debugging
google-chrome
Tamas Czinege
la source
la source
console.log()
c'est génial pour le débogage js ... J'oublie souvent de l'utiliser en pratique.console.log()
code doit être supprimé du code de production avant le déploiement.Console.Log
doivent être supprimés du code de production avant le déploiement car sinon, ces messages seront enregistrés dans la console JavaScript de vos utilisateurs. Bien qu'il soit peu probable qu'ils le voient, il occupe de l'espace mémoire sur leur appareil. En outre, selon le contenu du journal, vous dites potentiellement aux gens comment pirater / rétro-concevoir votre application.En améliorant l'idée d'Andru, vous pouvez écrire un script qui crée des fonctions de console si elles n'existent pas:
Ensuite, utilisez l'un des éléments suivants:
Ces fonctions consignent différents types d'éléments (qui peuvent être filtrés en fonction du journal, des informations, des erreurs ou des avertissements) et ne provoquent pas d'erreurs lorsque la console n'est pas disponible. Ces fonctions fonctionneront dans les consoles Firebug et Chrome.
la source
if (!window.console) {
et mettez ensuite tout entre crochets? En ce moment, vous évaluez les mêmes choses quatre fois.Ajoutez simplement une fonctionnalité intéressante qui manque à beaucoup de développeurs:
C'est la magique
%o
décharge cliquable et profond explorable contenu d'un objet JavaScript.%s
a été montré juste pour un record.C'est aussi cool aussi:
Ce qui donne une trace de pile semblable à Java jusqu'au point de l'
new Error()
appel (y compris le chemin vers le fichier et le numéro de ligne !).Les deux
%o
etnew Error().stack
sont disponibles dans Chrome et Firefox!Aussi pour les traces de pile dans Firefox:
Comme le dit https://developer.mozilla.org/en-US/docs/Web/API/console .
Bon piratage!
MISE À JOUR : Certaines bibliothèques sont écrites par de mauvaises personnes qui redéfinissent l'
console
objet à leurs propres fins. Pour restaurer le navigateur d'origineconsole
après le chargement de la bibliothèque, utilisez:Voir la question Stack Overflow Restoring console.log () .
la source
Juste un petit avertissement - si vous voulez tester dans Internet Explorer sans supprimer tous les console.log (), vous devrez utiliser Firebug Lite ou vous obtiendrez des erreurs pas particulièrement conviviales.
(Ou créez votre propre console.log () qui renvoie simplement false.)
la source
console
objet est créé et existe jusqu'à ce que vous fermiez cette instance de navigateur.Voici un petit script qui vérifie si la console est disponible. Si ce n'est pas le cas, il essaie de charger Firebug et si Firebug n'est pas disponible, il charge Firebug Lite. Vous pouvez désormais l'utiliser
console.log
dans n'importe quel navigateur. Prendre plaisir!la source
En plus de la réponse de Delan Azabani , j'aime partager ma
console.js
, et j'utilise dans le même but. Je crée une console noop en utilisant un tableau de noms de fonctions, ce qui est à mon avis un moyen très pratique de le faire, et j'ai pris soin d'Internet Explorer, qui a uneconsole.log
fonction, mais nonconsole.debug
:la source
Ou utilisez cette fonction:
la source
console.constructor === Object && (log = m => console.log(m))
Voici ma classe d'encapsuleur de console. Cela me donne également une sortie de portée pour me faciliter la vie. Notez l'utilisation de
localConsole.debug.call()
afin quelocalConsole.debug
s'exécute dans la portée de la classe appelante, donnant accès à satoString
méthode.Cela donne une sortie comme ça dans Firebug :
Ou Chrome:
la source
Personnellement, j'utilise ceci, qui est similaire à celui de tarek11011:
Le point principal est que c'est une bonne idée d'avoir au moins une certaine pratique de journalisation autre que de simplement coller
console.log()
directement dans votre code JavaScript, car si vous l'oubliez, et qu'il se trouve sur un site de production, il peut potentiellement casser tout le code JavaScript pour cette page.la source
if(windows.console) console.log(msg)
?window.console
vous voulez dire. la seule fois où l'essai serait utile est si une erreur a été levée (si console.log n'était pas une fonction) depuis que la console a été redéfinie. Fairewindow.console && window.console.log instanceof Function
serait plus utile.Vous pouvez utiliser
console.log()
si vous avez un code débogué dans quel éditeur de logiciel de programmation vous avez et vous verrez la sortie probablement le meilleur éditeur pour moi (Google Chrome). Appuyez simplement sur F12et appuyez sur l'onglet Console. Vous verrez le résultat. Codage heureux. :)la source
J'ai eu beaucoup de problèmes avec les développeurs qui archivaient leurs instructions console. (). Et, je n'aime vraiment pas le débogage d'Internet Explorer, malgré les améliorations fantastiques d' Internet Explorer 10 et de Visual Studio 2012 , etc.
J'ai donc remplacé l'objet console lui-même ... J'ai ajouté un indicateur __localhost qui n'autorise les instructions de console que sur localhost. J'ai également ajouté des fonctions console. () À Internet Explorer (qui affiche une alerte () à la place).
Exemple d'utilisation:
Chrome / Firefox:
Internet Explorer:
Pour ceux qui regardent attentivement le code, vous découvrirez la fonction console.examine (). J'ai créé cela il y a quelques années afin de pouvoir laisser le code de débogage dans certaines zones autour du produit pour aider à résoudre les problèmes d' assurance qualité / client. Par exemple, je laisserais la ligne suivante dans du code publié:
Et puis, à partir du produit commercialisé, tapez ce qui suit dans la console (ou la barre d'adresse préfixée par 'javascript:'):
Ensuite, je verrai toutes les instructions consignées console.examine (). Cela a été une aide fantastique à plusieurs reprises.
la source
Simple shim Internet Explorer 7 et inférieur qui préserve la numérotation des lignes pour les autres navigateurs:
la source
L'utilisation de cette méthode imprime le texte dans une couleur bleu vif dans la console.
la source
Améliorant davantage les idées de Delan et Andru (c'est pourquoi cette réponse est une version éditée); console.log est susceptible d'exister alors que les autres fonctions peuvent ne pas exister, donc ayez la mappe par défaut à la même fonction que console.log ....
Vous pouvez écrire un script qui crée des fonctions de console si elles n'existent pas:
Ensuite, utilisez l'un des éléments suivants:
Ces fonctions consignent différents types d'éléments (qui peuvent être filtrés en fonction du journal, des informations, des erreurs ou des avertissements) et ne provoquent pas d'erreurs lorsque la console n'est pas disponible. Ces fonctions fonctionneront dans les consoles Firebug et Chrome.
la source