我想創建一個js代碼片段,它將在頁面上運行按鈕的onclick。點擊該按鈕後,它會發現控制檯是否有一些錯誤? (即如果它在IE中的狀態欄中顯示一些錯誤)如果它有錯誤,那麼它會顯示一個警告框,指出某些js代碼在此頁面上失敗。否則會顯示味精「通過」使用javascript獲取js錯誤列表
是否有可能從頁面內獲取js錯誤列表?
我想創建一個js代碼片段,它將在頁面上運行按鈕的onclick。點擊該按鈕後,它會發現控制檯是否有一些錯誤? (即如果它在IE中的狀態欄中顯示一些錯誤)如果它有錯誤,那麼它會顯示一個警告框,指出某些js代碼在此頁面上失敗。否則會顯示味精「通過」使用javascript獲取js錯誤列表
是否有可能從頁面內獲取js錯誤列表?
<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>
你可以使用「嘗試」和「抓」指令
try
{
// code that may have an error
}
catch(e)
{
alert('There was an error: '+e.message);
}
finally
{
alert('Execute this bit anyway');
}
我有時會使用它在catch部分中使用ajax調用將錯誤記錄到服務器。 – Rembunator
據我所知,這是無法讀取的控制檯輸出。但是,您可以指定一個處理程序到window.onerror
以捕獲頁面內發生的所有JavaScript錯誤。
請注意,這並未在所有瀏覽器中實現。雖然我現在找不到兼容性表格。
以下是你可能會發現在幫助一個類似的問題: - http://stackoverflow.com/questions/6970475/get-all-javascript-errors-on-page-javascript-error-handling – BenhurCD
人這些傢伙都在上面。好工作NullPointer,Vicky,Thor,Fraser,讓我們不要忘記RB。真正偉大的工作,找到重複。我希望你對此感到滿意,因爲我很欣賞你的勇敢努力。令人驚歎的工作傢伙。令人驚訝的是,我可能會補充。哇。哇哇! –