Gibt es eine Möglichkeit, alle console.log
Anweisungen in meinem JavaScript-Code zu Testzwecken?
Antworten
Zu viele Anzeigen?Ich bin erstaunt, dass von all diesen Antworten keine einzige kombiniert wurde:
- Kein jquery
- Anonyme Funktion, um den globalen Namespace nicht zu verschmutzen
- Behandlung von Fällen, in denen window.console nicht definiert ist
- Ändern Sie einfach die Funktion .log der Konsole
Ich würde mich dafür entscheiden:
(function () {
var debug = false
if (debug === false) {
if ( typeof(window.console) === 'undefined') { window.console = {}; }
window.console.log = function () {};
}
})()
Ich weiß, dass Sie gefragt haben, wie Sie console.log deaktivieren können, aber das könnte das sein, was Sie wirklich wollen. Auf diese Weise müssen Sie die Konsole nicht explizit aktivieren oder deaktivieren. Es verhindert einfach diese lästigen Konsolenfehler für Leute, die sie nicht geöffnet oder installiert haben.
if(typeof(console) === 'undefined') {
var console = {};
console.log = console.error = console.info = console.debug = console.warn = console.trace = console.dir = console.dirxml = console.group = console.groupEnd = console.time = console.timeEnd = console.assert = console.profile = function() {};
}
Nachdem ich auch nach diesem Problem gesucht habe und es in meiner Cordova-App ausprobiert habe, möchte ich jeden Entwickler für Windows Phone warnen, nicht zu überschreiben
console.log
weil die Anwendung beim Starten abstürzt.
Wenn Sie Glück haben, stürzt sie nicht ab, wenn Sie lokal entwickeln, aber wenn Sie sie im Geschäft einreichen, stürzt die App ab.
Einfach überschreiben
window.console.log
wenn Sie es müssen.
Dies funktioniert in meiner Anwendung:
try {
if (typeof(window.console) != "undefined") {
window.console = {};
window.console.log = function () {
};
window.console.debug = function () {
};
window.console.info = function () {
};
window.console.warn = function () {
};
window.console.error = function () {
};
}
if (typeof(alert) !== "undefined") {
alert = function ()
{
}
}
} catch (ex) {
}