// Debug-Konsole aktivieren const debugConsoleEnabled = true; if (debugConsoleEnabled) { const debugConsole = document.getElementById('debug-console'); const debugToggleBtn = document.getElementById('debug-toggle-btn'); debugConsole.style.display = 'block'; debugToggleBtn.style.display = 'block'; // Toggle-Funktion hinzufügen let isDebugVisible = true; debugToggleBtn.addEventListener('click', () => { toggleDebugConsole(); }); // Konsole überschreiben (function() { const oldConsoleLog = console.log; console.log = function(...args) { oldConsoleLog.apply(console, args); // Normale Konsole weiterhin nutzen // Logs in das Debug-Element schreiben debugConsole.innerHTML += args.join(' ') + '
'; debugConsole.scrollTop = debugConsole.scrollHeight; // Automatisch nach unten scrollen }; const oldConsoleError = console.error; console.error = function(...args) { oldConsoleError.apply(console, args); debugConsole.innerHTML += '' + args.join(' ') + '
'; debugConsole.scrollTop = debugConsole.scrollHeight; }; // JavaScript-Fehler global abfangen window.onerror = function(message, source, lineno, colno, error) { const errorMsg = `[ERROR] ${message} at ${source}:${lineno}:${colno}`; debugConsole.innerHTML += `${errorMsg}
`; debugConsole.scrollTop = debugConsole.scrollHeight; // Auch in der normalen Konsole anzeigen oldConsoleError(errorMsg); }; // Unhandled Promise Rejections abfangen window.addEventListener('unhandledrejection', function(event) { const errorMsg = `[PROMISE ERROR] ${event.reason}`; debugConsole.innerHTML += `${errorMsg}
`; debugConsole.scrollTop = debugConsole.scrollHeight; oldConsoleError(errorMsg); }); })(); function toggleDebugConsole() { isDebugVisible = !isDebugVisible; debugConsole.style.display = isDebugVisible ? 'block' : 'none'; debugToggleBtn.innerText = isDebugVisible ? 'Close' : 'Open Console'; } toggleDebugConsole(); console.log("Debug Console enabled"); }