write variable print log imprimir chrome javascript console firebug

variable - print html javascript



js anula console.log si no está definido (7)

He enfrentado un error similar en mi pasado, y lo superé con el siguiente código:

if(!window.console) { var console = { log : function(){}, warn : function(){}, error : function(){}, time : function(){}, timeEnd : function(){} } }

¿Qué solución recomienda, la segunda es más simple (menos código), pero hay inconvenientes en su uso?

Primero: (Establecer una bandera de depuración global)

// the first line of code var debug = true; try { console.log } catch(e) { if(e) { debug=false; } }; // Then later in the code if(debug) { console.log(something); }

Segundo: anular la consola.log

try { console.log } catch(e) { if (e) { console.log = function() {} } }; // And all you need to do in the code is console.log(something);


Lo siguiente logrará lo que buscas:

window.console && console.log(''foo'');



Ninguno, sino una variación del segundo. Pierde el try...catch y verifica la existencia del objeto de consola correctamente:

if (typeof console == "undefined") { window.console = { log: function () {} }; } console.log("whatever");


O, en coffeescript:

window.console ?= log:-> #patch so console.log() never causes error even in IE.


EDITAR: la respuesta de Andy es mucho más elegante que el truco rápido que he publicado a continuación.

Generalmente uso este enfoque ...

// prevent console errors on browsers without firebug if (!window.console) { window.console = {}; window.console.log = function(){}; }


window.console = window.console || {}; window.console.log = window.console.log || function() {};