Fix the stack trace in caught syntax errors in Chrome
This commit is contained in:
parent
f1681d18c2
commit
fa85d06271
12
index.html
12
index.html
@ -9,7 +9,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
{
|
{
|
||||||
let domloaded = false;
|
let domloaded = false;
|
||||||
window.addEventListener('DOMContentLoaded', e => domloaded = true);
|
window.addEventListener('DOMContentLoaded', ev => domloaded = true);
|
||||||
|
|
||||||
let _ll_log_fatal_error = (err, ev) => {
|
let _ll_log_fatal_error = (err, ev) => {
|
||||||
document.getElementById('loading').setAttribute('hidden', '');
|
document.getElementById('loading').setAttribute('hidden', '');
|
||||||
@ -19,7 +19,9 @@
|
|||||||
|
|
||||||
failed.classList.add('--got-error');
|
failed.classList.add('--got-error');
|
||||||
let stack = '(origin unknown)';
|
let stack = '(origin unknown)';
|
||||||
if (err.stack) {
|
if (err.stack && err.stack.match(/\n/)) {
|
||||||
|
// Chrome sometimes gives us a stack that's actually just the message without
|
||||||
|
// any filenames, in which case skip it
|
||||||
stack = err.stack.replace(/^/mg, " ");
|
stack = err.stack.replace(/^/mg, " ");
|
||||||
}
|
}
|
||||||
else if (err.fileName) {
|
else if (err.fileName) {
|
||||||
@ -38,12 +40,12 @@
|
|||||||
window.addEventListener('DOMContentLoaded', () => _ll_log_fatal_error(err, ev));
|
window.addEventListener('DOMContentLoaded', () => _ll_log_fatal_error(err, ev));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let error_listener = e => {
|
let error_listener = ev => {
|
||||||
if (! e.error)
|
if (! ev.error)
|
||||||
// Not a script error
|
// Not a script error
|
||||||
return;
|
return;
|
||||||
try {
|
try {
|
||||||
ll_log_fatal_error(e.error, e);
|
ll_log_fatal_error(ev.error, ev);
|
||||||
}
|
}
|
||||||
catch (err) {}
|
catch (err) {}
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user