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;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#noVNC_fallback_errormsg {
|
||||
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
|
||||
* ----------------------------------------
|
||||
|
|
27
app/ui.js
27
app/ui.js
|
@ -26,16 +26,29 @@ var UI;
|
|||
"use strict";
|
||||
|
||||
// Fallback for all uncought errors
|
||||
window.addEventListener('error', function(e) {
|
||||
window.addEventListener('error', function(event) {
|
||||
try {
|
||||
var file = e.filename;
|
||||
var line = e.lineno;
|
||||
var col = e.colno;
|
||||
var msg = e.error.message;
|
||||
var msg = "";
|
||||
|
||||
msg += "<div>";
|
||||
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')
|
||||
.classList.add("noVNC_open");
|
||||
document.getElementById('noVNC_fallback_errormsg').innerHTML =
|
||||
msg + '<br><br>' + 'at: ' + file + ':' + line + ':' + col;
|
||||
document.getElementById('noVNC_fallback_errormsg').innerHTML = msg;
|
||||
} catch (exc) {
|
||||
document.write("noVNC encountered an error.");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue