假设我有以下代码:
<script>
function billy() {
alert('muahahahaha!');
}
function suzzy() {
return;
}
</script>
还有一个像这样的按钮(带有未定义的 onclick 处理程序):
<input type='button' value='click me' onClick='FRANK()' />
当我单击该按钮时,开发者控制台中会显示以下内容:
block 引用>Function 'FRANK()' is not defined.
如何将该消息存储在变量中并将其显示在页面上?
document.getElementById('prompt').innerHTML = log;
所以它会显示为:
<div id='prompt'> Function 'FRANK()' has not been defined. </div>
最佳答案
如果你想在你的div中显示页面的任何错误,你可以使用global event handler onerror :
window.onerror = function(e){
document.getElementById('prompt').innerHTML = e.toString();
}
<小时/>
如果您的目标是拦截浏览器在控制台中写入的所有内容,而不仅仅是错误,我不确定这是否直接可能,因为浏览器不使用可访问的控制台
功能适用于一切。
但是您可以通过 Hook 所有全局事件处理程序来做很多事情:
关于javascript - 在页面上显示 JavaScript 控制台错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23881716/