2011-02-04 10 views
7

El archivo firebugx.js (que se muestra a continuación) comprueba tanto! Window.console como! Console.firebug, que detecta correctamente si firebug está instalado. Sin embargo, esa comprobación no admite el objeto de consola nativo en las herramientas de desarrollador de IE: sobrescribe el objeto de la consola de IE.Alterar firebugx.js para acomodar IE Developer Tools

Por ejemplo, si incluyo el código firebugx.js, a continuación, la siguiente excepción no aparecerá en la consola de IE (que sólo se pondrá de ingestión):

function foo() { 
    try { 
     throw "exception!!!"; 
    } 
    catch (e) { 
     console.error(e); 
    } 
    } 

Pregunta: ¿Cuál es la mejor enfoque para acomodar el depurador desarrollador IE? Quizás la respuesta obvia es simplemente comentar la verificación firebugx.js cuando se depura en IE. ¿Hay otros enfoques?

Referencia:

firebugx.js

if (!window.console || !console.firebug) 
{ 
    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() {} 
} 

Respuesta

5

supongo que la siguiente modificación a firebugx.js resolvería el problema. Solo redefinir window.console si no existe y, opcionalmente, definir las funciones que faltan en window.console. Estaba dudando en modificar firebugx.js, pero realmente no puedo ver una desventaja en esto. Es la forma más fácil de cambiar rápidamente entre los depuradores de Firefox y IE.

firebugxCustom.js

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

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