IE6/7 no tiene una consola por defecto.
De hecho, tampoco lo hace Firefox: lo proporciona un complemento llamado Firebug; si usa una copia de Firefox sin Firebug instalado, entonces obtendrá errores al intentar llamar al console
de la misma manera que con IE.
IE8/9 haga tenga una consola.
Chrome y Safari tienen un objeto de consola incorporado, pero no cuentan con que funcione exactamente de la misma manera que Firebug o IE8.
Tenga en cuenta que en todos los navegadores, el objeto de la consola no se puede crear a menos que la ventana de depuración esté abierta. Esto significa que su código con una llamada console.log
podría fallar en cualquier navegador, no solo IE.
En su ejemplo, básicamente está creando un objeto console
ficticio si no existe, que está claramente destinado a evitar que los navegadores sin una consola se bloqueen si llama al console.log()
. Pero está llamando al console.log()
antes de que se ejecute ese código, por lo que los navegadores sin una consola se bloquean en esa línea. Por lo tanto, debe mover su línea console.log("doc ready");
para que aparezca después del bit que detecta si existe console
.
Si desea que la consola exista para IE, hay una versión de Firebug llamada Firebug Lite, que se puede ejecutar en cualquier navegador. Si ejecuta esto, creará el objeto console
.
Sin embargo, tenga en cuenta que solo se puede ejecutar después de cargar la página, por lo que nunca podrá mostrar los mensajes de la consola en la función de documento listo. Además, puede fallar la creación del objeto de la consola si ya existe, por lo que el código que tiene en el documento listo para crear un objeto de consola ficticio puede evitar que Firebug Lite funcione correctamente.
Por último, si bien utilizar la consola es fantástico para la depuración, asegúrese de que nunca envíe código en vivo con llamadas al console.log
, incluso si planea usarlas solo para depuración más adelante. Como ya has visto, pueden hacer que un navegador deje de ejecutar el código si no tiene un objeto de consola, y habrá muchos usuarios activos que no lo tienen, así que ten cuidado de no causar problemas a los usuarios en vivo. : lo mejor es asegurarse siempre de haber eliminado todas sus llamadas a la consola antes de enviar su código.
la consola también funciona en Chrome – darioo
Incorrecto, tiene que instalar firebug lite para la consola en IE7 y versiones anteriores. IE8 tiene una consola, no tan robusta con todos los métodos de registro como Firebug, pero está ahí. – epascarello