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.");
}