Further fixes for fallback error handler
Layout improvements as well as an check for ErrorEvent.error as it is not standardized.
This commit is contained in:
parent
38d8cfdf83
commit
d8ff7c9ed6
|
@ -205,10 +205,27 @@ input[type=button]:active, select:active {
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#noVNC_fallback_errormsg {
|
#noVNC_fallback_errormsg {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#noVNC_fallback_error .noVNC_location {
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 0.8em;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
#noVNC_fallback_error .noVNC_stack {
|
||||||
|
padding: 10px;
|
||||||
|
margin: 10px;
|
||||||
|
font-size: 0.8em;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
/* ----------------------------------------
|
/* ----------------------------------------
|
||||||
* Control Bar
|
* Control Bar
|
||||||
* ----------------------------------------
|
* ----------------------------------------
|
||||||
|
|
27
app/ui.js
27
app/ui.js
|
@ -26,16 +26,29 @@ var UI;
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
// Fallback for all uncought errors
|
// Fallback for all uncought errors
|
||||||
window.addEventListener('error', function(e) {
|
window.addEventListener('error', function(event) {
|
||||||
try {
|
try {
|
||||||
var file = e.filename;
|
var msg = "";
|
||||||
var line = e.lineno;
|
|
||||||
var col = e.colno;
|
msg += "<div>";
|
||||||
var msg = e.error.message;
|
msg += event.message;
|
||||||
|
msg += "</div>";
|
||||||
|
|
||||||
|
msg += " <div class=\"noVNC_location\">";
|
||||||
|
msg += event.filename;
|
||||||
|
msg += ":" + event.lineno + ":" + event.colno;
|
||||||
|
msg += "</div>";
|
||||||
|
|
||||||
|
if ((event.error !== undefined) &&
|
||||||
|
(event.error.stack !== undefined)) {
|
||||||
|
msg += "<div class=\"noVNC_stack\">";
|
||||||
|
msg += event.error.stack;
|
||||||
|
msg += "</div>";
|
||||||
|
}
|
||||||
|
|
||||||
document.getElementById('noVNC_fallback_error')
|
document.getElementById('noVNC_fallback_error')
|
||||||
.classList.add("noVNC_open");
|
.classList.add("noVNC_open");
|
||||||
document.getElementById('noVNC_fallback_errormsg').innerHTML =
|
document.getElementById('noVNC_fallback_errormsg').innerHTML = msg;
|
||||||
msg + '<br><br>' + 'at: ' + file + ':' + line + ':' + col;
|
|
||||||
} catch (exc) {
|
} catch (exc) {
|
||||||
document.write("noVNC encountered an error.");
|
document.write("noVNC encountered an error.");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue