2012-06-25 44 views
8

我正在爲我的應用程序編寫一個bug記者。出現問題時,用戶填寫表單並描述問題,並將其發送到服務器。作爲在這個表單中收集的數據的一部分,我想包含最後一個javascript錯誤。有沒有辦法做到這一點?獲取最新的Javascript錯誤

+0

你可以在try/catch塊,這將趕上失敗,並沒有得到之前逮住一切插入你的整個代碼。 –

回答

5

您可以通過使用window.onerrorMDN docu)來實現捕獲錯誤的功能。這樣,最後的錯誤可以存儲在window.localStorage或任何你想要的地方,並且當bugreport被填充時你可以再次檢索它。

+0

對window.localStorage的瀏覽器支持是什麼樣的?我需要最低限度地支持IE 8. – Judson

+0

根據[caniuse.com](http://caniuse.com/#search=localstorage),IE8不錯。 – Sirko

3

您可以將函數分配給window.onerror並存儲來自參數的錯誤信息。

+0

如何使這項工作在鉻'var errors = []; window.onerror = function(){ errors.push(arguments); };拋出新的錯誤(「asd」)或者它只適用於「真正」的錯誤?編輯:不適用於'ReferenceErrors' – Esailija

6

可以使用window.onerror

window.onerror = function(error, url, line) { 
    //save errors here 
};