2012-01-29 35 views
0

我需要跟蹤瀏覽器中的JS錯誤,但是當我在FF中運行函數時,出現'函數未定義'錯誤。它不給我一個行號。它可以在Chrome中運行,也可以在IE中運行。Firefox - 顯示「功能未定義」的行號?

window.onerror = function(errorMessage, url, line) { 
    var loggerUrl = "https://www.xing.com/js/logger"; 
    var parameters = "?description=" + escape(errorMessage) 
     + "&url=" + escape(url) 
     + "&line=" + escape(line) 
     + "&parent_url=" + escape(document.location.href) 
     + "&user_agent=" + escape(navigator.userAgent); 

    /** Send error to server */ 
    //new Image().src = loggerUrl + parameters; 
    alert(loggerUrl + parameters); 
}; 

HTML

<input type="button" onClick="test()" value="click"> 
+0

'escape'不適用於網址;改爲使用'encodeURIComponent'。 – Gumbo 2012-01-29 15:29:14

+0

謝謝。我其實不知道轉義和編碼在做什麼。 – boje 2012-01-29 15:57:26

回答

0

有一個很好的Firefox插件 「螢火蟲」,這是exactely你在找什麼。在Mozilla插件網站上搜索Firebug。

+0

我使用過,但我想將所有用戶的所有錯誤都存儲在數據庫中。這樣我得到一個JS錯誤日誌。 Firebug不會返回一個linenumbers eather – boje 2012-01-29 15:56:05

+0

等待 - 爲什麼要將錯誤發送到數據庫?在投入生產之前不應該測試代碼嗎? – alexy13 2012-01-29 18:50:33

+0

當然,它之前已經過測試,但對於許多開發人員來說,不同的舊瀏覽器錯誤總會出現在那裏。 – boje 2012-01-30 06:11:52