//Simplistic replacement for DebugOverlay.js, if that fails. // const highestZIndex = Math.max( // ...Array.from(document.getElementsByTagName('*')) // .map(e=>window.getComputedStyle(e).zIndex) // .map(parseInt) // .filter(e => !isNaN(e))); // console.log(highestZIndex); document.body.innerHTML = ''; document.body.style.all = 'initial'; function putString(string) { document.body.innerText += string; } const oldConsoleLog = console.log; console.log = function(...args) { putString('(log) ' + args.map(e => e.toString()).join(' ')); return oldConsoleLog(...args); }; window.addEventListener('error', event => { var msg = '\n(err) '; msg += !event ? '!!event = ' + event : !event.error ? '!!event.error = ' + event.error : !event.error.stack ? '!!event.error.stack = ' + event.error.stack : event.error.stack; if(event && event.error) for(const key in event.error) { msg += '\nevent.error.' + key + '=' + event.error[key]; } putString(msg); }); // Test error. console.log("Log test."); setTimeout(backtraceTest,10); function backtraceTest(){ backtraceTest2(); } function backtraceTest2(){ noSuchFunctionShouldExist(); }