diff --git a/app/ui.js b/app/ui.js index 8056078b..40b0c337 100644 --- a/app/ui.js +++ b/app/ui.js @@ -28,27 +28,35 @@ var UI; // Fallback for all uncought errors window.addEventListener('error', function(event) { try { - var msg = ""; + var msg, div, text; - msg += "
"; - msg += event.message; - msg += "
"; + msg = document.getElementById('noVNC_fallback_errormsg'); - msg += "
"; - msg += event.filename; - msg += ":" + event.lineno + ":" + event.colno; - msg += "
"; + // Only show the initial error + if (msg.hasChildNodes()) { + return false; + } + + div = document.createElement("div"); + div.appendChild(document.createTextNode(event.message)); + msg.appendChild(div); + + div = document.createElement("div"); + div.className = 'noVNC_location'; + text = event.filename + ":" + event.lineno + ":" + event.colno; + div.appendChild(document.createTextNode(text)); + msg.appendChild(div); if ((event.error !== undefined) && (event.error.stack !== undefined)) { - msg += "
"; - msg += event.error.stack; - msg += "
"; + div = document.createElement("div"); + div.className = 'noVNC_stack'; + div.appendChild(document.createTextNode(event.error.stack)); + msg.appendChild(div); } document.getElementById('noVNC_fallback_error') .classList.add("noVNC_open"); - document.getElementById('noVNC_fallback_errormsg').textContent = msg; } catch (exc) { document.write("noVNC encountered an error."); }