Ich habe in letzter Zeit verstärkt Probleme mit Firebug gehabt und der Fehlermeldung “window.console is undefined”. Das lag daran, dass ich in meinem Javascript eine Funktion eingebaut habe, die mal auf der Firebug Website zu finden war (Firebug XS) und verhindern soll, dass es bei Browsern, die kein “console” unterstützen, zu Fehlern kommt.
Leider funktionierte der alte Code bei mir nicht mehr zuverlässig, weshalb ich ihn folgendermaßen geändert habe:
//prevent errors in browsers that do not support console.
if (typeof window.loadFirebugConsole == "undefined" || typeof window.console == 'undefined' ) {
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(){};
}
}
So kann man ohne Probleme Debug Statements im Code stehen lassen, ohne dass es in Browsern, die keinen Firebug unterstützen (z.B. Internet Explorer) zu Problemen kommt.
Update: Habe den Code noch leicht modifiziert, da es noch in einigen Fällen zu Fehlern kam, die entscheidende Zeile ist:
typeof window.loadFirebugConsole == "undefined" || typeof window.console == 'undefined'
Keine Kommentare
Kommentare zu diesem Beitrag als RSS 2.0 feed.
Kommentar abgeben