post 30 of 32 · 14 August 2008 · written in French
Disabling console.log() calls when Firebug isn't there
Comment désactiver les appels à console.log() si firebug n’est pas présent
A stray console.log() threw an error in any browser without Firebug and stopped the script. The fix: if console isn't an object, define one with an empty log function. The same idea can silence logging on the production domain or switch it on with a URL parameter.
Si vous développez en JS, vous utilisez certainement la fonctionnalité très utile de firebug permettant d’afficher un message dans la console, console.log(). Le problème, c’est que chaque appel à cette fonction va produire une erreur si firebug n’est pas présent, et donc interrompre l’exécution JS. Pas top sur un site en prod’ si vous laissez par mégarde des console.log() dans le code.
Voici comment désactiver tous les appels à console.log() si firebug n’est pas présent :
if (typeof console != "object") {
var console = {
'log':function(){}
};
}
Vous pouvez bien sur adapter le code pour désactiver console.log() si on est sur le domaine de prod’ même si firebug est présent, ou bien encore ne l’activer que si un certain paramètre est présent dans l’URL, etc …