Guten Abend!
Bisher habe ich beim Debuggen stehts 'ne Menge alert()s ausgegeben mit allen möglichen Informationen, die ich fürs Debugging für nützlich hielt. Inzwischen bin ich das ganze weg-klicken von Informationen, die ich eh erwartet habe aber leid, daher such(t)e ich nun nach einem neuen Weg.
Am Beginn meines Codes wird eine Variable namens debug_ob deklariert anhand derer ich debug-Informationen einblende oder eben nicht. Bisher geschah dies an diversen Stellen des Codes mit
if(debug_on) { alert("Unglaublich wichtige Debug-Information"); }
Wie gesagt bin ich die Meldungen aber leid, vor allem da es recht viele geworden sind (aber auch weil manche nicht auf meinen Monitor passen).
also habe ich einfach alle Meldungen an eine Funktion übergeben, also überall wo das da oben stand steht jetzt debug_message("Unglaublich wichtige Debug-Information");
und die Prüfung ob debugging überhaupt aktiv ist erfolgt dann in dieser Funktion.
Erster Ansatz war dann, dass ich eine ul(iste) erstellte, die ich dann position:fixed in die Ecke links unten geklebt habe. Funktionierte ansich gut, aber wenn es viele Meldungen wurde, dann wurde es auch unübersichtlich, verdeckte Content oder wurde von diesem verdeckt.
Mein neuer Ansatz ist jetzt einfach ein Extrafenster, in dem die Informationen stehen, das kann ich prima ignorieren bzw. durchscrollen oder sonst was. Aber das will nicht so recht klappen. Hier die Funktion:
var debug_on = true;
var debug_window = false;
function debug_message (db_message) {
if (debug_on) {
if (!debug_window) {
debug_window = window.open('','debug_window','dependent=yes,resizable=yes,scrollbars=yes,status=yes');
var debug_html = document.createElement("html");
var debug_body = document.createElement("body");
var debug_ul = document.createElement("ul");
debug_ul.style.fontSize = "x-small";
debug_ul.id = "debug_list";
debug_body.appendChild(debug_ul);
debug_html.appendChild(debug_body);
debug_window.document.appendChild(debug_html);
}
var debug_li = document.createElement("li");
var debug_tx = document.createTextNode(db_message);
debug_li.appendChild(debug_tx);
debug_ul.appendChild(debug_li);
}
}
wenn ich diese Funktion aufrufe erscheint ein bildschirmfüllendes (das ist okay) Fenster ohne Inhalt und die Fehlerkonsole schimpft ich dürfe das Element (html) nicht an dieser Stelle der Hierarchie platzieren.
$Fehler: "Node cannot be inserted at the specified point in the hierarchy"
Wie mache ich das richtig oder
wo kann ich nachlesen wie ich das richtig mache oder
hat jemand einen alternativen Vorschlag zum Popup um meine Debug-Informationen anzuzeigen.
Vielen Dank schonmal und schönen Abend noch
--
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(