2009-09-17 18 views
5

Estoy depurando un problema de javascript específico de Safari, y no puedo obtener que console.log muestre el registro de errores. Este es un documented feature de Safari (estoy usando la versión 4.0.3). Sin embargo, estas afirmaciones en mi código parecen ignoradas. ¿Alguna idea de por qué? No encuentro pistas a través de Google.las sentencias console.log() no aparecen en el registro de errores de Safari

+1

¿Tiene algún código de ejemplo? ¿Necesitas abrir la consola primero para ver los errores? ¿Alguna otra información relevante? Es muy difícil solucionar una "X no funciona. ¿Por qué?" tipo de pregunta. – Breton

+1

Podría, por ejemplo, crear una página con un script que no tenga más que una instrucción console.log, y trabajar en eso. Esto detectará cualquier problema que pueda surgir en otras partes del código. – Breton

+1

También podría intentar escribirlo directamente en la consola para ver qué sucede. – SeanJA

Respuesta

3

Gracias a Breton y SeanJA por sus sugerencias de las pruebas directamente en la consola y haciendo un archivo de ejemplo. Después de hacer esto, me di cuenta de que console.log estaba, de hecho, trabajando en un entorno aislado. Esto me hizo darme cuenta de que debe ser algo particular de mi entorno de desarrollo. Revisando, encontré que había JavaScript siendo cargado desde el principio, diseñado para definir el objeto de la consola para navegadores no compatibles con Firebug.

if (!("console" in window) || !("firebug" in console)) 
{ 
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", 
    "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; 

    window.console = {}; 
    for (var i = 0; i < names.length; ++i) 
     window.console[names[i]] = function() {} 
} 

Aparentemente, esto se escribió antes de que Safari implementara un objeto de consola para su ventana de error.

Lo he eliminado y ahora todo funciona bien. Gracias chicos.

0

En Firefox Sé que ahora necesita tener la consola Firebug abierta para que funcione la consola. *. Tal vez es lo mismo?

1

¿Estás usando la compilación mac o windows?

En la compilación de windows no puedo usar la mayoría de las cosas en los hombres "Desarrollar", ninguna de las opciones de javascript funciona para mí. Sólo puedo usar

  • página abierta con
  • agente de usuario
  • Mostrar editor de snipper
  • Desactivar *
Cuestiones relacionadas