2013-02-06 25 views
0

我想创建一个js代码片段,它将在页面上运行按钮的onclick。点击该按钮后,它会发现控制台是否有一些错误? (即如果它在IE中的状态栏中显示一些错误)如果它有错误,那么它会显示一个警告框,指出某些js代码在此页面上失败。否则会显示味精“通过”使用javascript获取js错误列表

是否有可能从页面内获取js错误列表?

+1

以下是你可能会发现在帮助一个类似的问题: - http://stackoverflow.com/questions/6970475/get-all-javascript-errors-on-page-javascript-error-handling – BenhurCD

+0

人这些家伙都在上面。好工作NullPointer,Vicky,Thor,Fraser,让我们不要忘记RB。真正伟大的工作,找到重复。我希望你对此感到满意,因为我很欣赏你的勇敢努力。令人惊叹的工作家伙。令人惊讶的是,我可能会补充。哇。哇哇! –

回答

0
<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> 
0

你可以使用“尝试”和“抓”指令

try 
    { 
    // code that may have an error 
    } 
catch(e) 
    { 
    alert('There was an error: '+e.message); 
    } 
finally 
    { 
    alert('Execute this bit anyway'); 
    } 
+0

我有时会使用它在catch部分中使用ajax调用将错误记录到服务器。 – Rembunator

0

据我所知,这是无法读取的控制台输出。但是,您可以指定一个处理程序到window.onerror以捕获页面内发生的所有JavaScript错误。

请注意,这并未在所有浏览器中实现。虽然我现在找不到兼容性表格。