假設一個特定的用戶正在使用Chrome瀏覽器,並且獲得了Chrome控制檯中記錄的運行時錯誤。我想知道那是什麼錯誤。目前,我必須聯繫特定用戶,讓他們打開控制檯並告訴我錯誤是什麼(或發送屏幕截圖)。有沒有什麼辦法可以記錄瀏覽器控制檯錯誤
有沒有辦法讓我自動捕獲或記錄該錯誤(不管錯誤是什麼)並將其發送到服務器?
作爲後續問題,有沒有辦法爲所有主流瀏覽器做到這一點?
假設一個特定的用戶正在使用Chrome瀏覽器,並且獲得了Chrome控制檯中記錄的運行時錯誤。我想知道那是什麼錯誤。目前,我必須聯繫特定用戶,讓他們打開控制檯並告訴我錯誤是什麼(或發送屏幕截圖)。有沒有什麼辦法可以記錄瀏覽器控制檯錯誤
有沒有辦法讓我自動捕獲或記錄該錯誤(不管錯誤是什麼)並將其發送到服務器?
作爲後續問題,有沒有辦法爲所有主流瀏覽器做到這一點?
你可以換的console.log和console.error與測井方法
var log = console.log;
console.log = function() {
//Ajax post arguments to your server for logging
return log.apply(console, arguments);
};
var error = console.error;
console.error = function() {
//log arguments to server
return error.apply(console, arguments);
};
關於瀏覽器生成的錯誤,而不是我專門記錄自己的東西?如果瀏覽器無法解析JSON響應(作爲示例),瀏覽器將記錄錯誤。我想知道這件事。以上是否會照顧這種情況? – user1775598 2014-09-30 12:05:27
不,它不會但會得到任何JS代碼發送的日誌和錯誤。如果你想記錄瀏覽器錯誤,你也可以使用window.onerror = function(errorMsg,url,lineNumber){ajax log to server('Error:'+ errorMsg +'Script:'+ url +'Line: '+ lineNumber); }。 HTML 5 onerror也會發送col,錯誤。 – artm 2014-09-30 12:24:34
有各種工具/執行此操作的庫。例如,請看[Sentry](https://www.getsentry.com/for/javascript/)。 – 2014-09-30 11:56:02