2016-01-13 19 views
0

我有一個html文件,其中可能包含許多img標籤,並且它也會像下面的JS一樣。 html file有沒有辦法讓Chrome/Firefox中發生的錯誤發生在整個網頁

如果我嘗試在Chrome加載該頁面,並單擊按鈕clickMe我得到在控制檯下面的錯誤。 error file

我知道,使用window.onerror我可以處理/捕獲的ReferenceError並且可以保存供以後。但是,從哪裏可以獲得網頁生命週期中發生的所有錯誤列表,是否存在任何錯誤堆棧。因爲,我無法捕獲ERR_FILE_NOT_FOUND錯誤。

請讓我知道這是否可能,如果是的話如何?

+0

你的網站日誌系統(如果有的話)應該有報告大多數錯誤的能力包括404.因此,如果您需要使用它,請將您的錯誤日誌文件移動到可讀的目錄並從那裏解析。 – Mike

+0

除此之外,沒有辦法,你在說? – Roy

+0

不,根據錯誤類型的不同,捕捉錯誤的方法很多。在你的例子中,它的一個404錯誤將被服務器記錄下來,並保留在你的配置中。 – Mike

回答

1

ERR_FILE_NOT_FOUND錯誤不是JS錯誤,所以它不能被全局捕獲,只能發送ajax文件現有的請求。此外,對於圖像,您可以使用onerror事件來捕獲此錯誤,對於音頻,您可以使用源代碼等。但是對於全局來說,無法捕捉它。
同樣對於排隊錯誤,我建議使用Sentry

0

不太明白你的問題。但是,如果你想趕上你的JavaScript錯誤並登錄到控制檯這樣做:

try { 
    dosomething... 
} 
catch(err) { 
    console.error(err.message); 
} 

有4個級別的日誌記錄到控制檯:

console.error(message); 
console.log(message); 
console.warn(message); 
console.info(message); 

在螢火蟲的控制檯選項卡工具在Chrome中,您可以過濾掉日誌記錄的類型。您可以單擊保留日誌複選框,以便所有日誌將繼續追加到控制檯。

其他來自瀏覽器的錯誤報告,也就是那些你沒有從你的腳本中捕獲的錯誤,也去這裏。

如果你真的想捕捉圖像加載失敗,有幾種方法可以做到這一點。一種方法是這樣的:

<img src="smiley.gif" onerror="console.error('Fail to load smiley.gif');" /> 

如果要啓用調試,爲谷歌瀏覽器文件,請參閱此鏈接:https://www.chromium.org/for-testers/enable-logging

相關問題