我想创建一个 js 代码片段,它将在页面上单击按钮时运行。点击那个按钮后会发现控制台是否有错误?(即,如果它在 IE 的状态栏中显示一些错误)如果它有错误,那么它将显示一个警告框,说明此页面上的某些 js 代码失败。否则会显示 msg "Passed"
是否可以从页面中获取 js 错误列表?
我想创建一个 js 代码片段,它将在页面上单击按钮时运行。点击那个按钮后会发现控制台是否有错误?(即,如果它在 IE 的状态栏中显示一些错误)如果它有错误,那么它将显示一个警告框,说明此页面上的某些 js 代码失败。否则会显示 msg "Passed"
是否可以从页面中获取 js 错误列表?
您可以使用“try”和“catch”指令
try
{
// code that may have an error
}
catch(e)
{
alert('There was an error: '+e.message);
}
finally
{
alert('Execute this bit anyway');
}
据我所知,无法读取控制台输出。但是,您可以分配一个处理程序window.onerror
来捕获页面内发生的所有 JavaScript 错误。
请注意,这并非在所有浏览器中都实现。不过,我现在找不到它的兼容性表。
<button id="button">Bug out</button>
<script>
var myErrors = [],
startTrackingErrors = false;
window.onerror = function (errorMessage, url, lineNumber) {
if (!startTrackingErrors) { return false; }
myErrors.push({
errorMessage : errorMessage,
url : url,
lineNumber : lineNumber
});
return true;
};
document.getElementById('button').click = function() {
startTrackingErrors = true;
// put your buggy code here
// loop through "myErrors" array when done
};
</script>