﻿# 如何自動取得所有前端 JavaScript 錯誤以提升網站品質

我們每個案子都會用許多錯誤追蹤的機制確保網站品質，但還是不時會讓客戶發現有些功能無法操作，而這些問題大多出在 JavaScript 錯誤，由於一些老舊的瀏覽器或不同瀏覽器特性不同的關係，難免會有不小心寫錯的時候，為了能有效追蹤這些不易察覺的錯誤，我們會利用 JavaScript 追蹤 JavaScript 錯誤！

這個需求透過 [jQuery](http://jquery.com/) 來做最方便了，透過 [error(fn)](http://docs.jquery.com/Events/error) 事件即可達成此一目標：

```
$(window).error(function(msg, url, line){  jQuery.post("/js_error_log.ashx", { msg: msg, url: url, line: line });});
```

透過這個技巧即可有效獲得即時的前端資訊，看你要儲存到資料庫、EventLog、File、或郵寄出來都可以，不過唯一要小心的地方是當錯誤非常多時，這個錯誤追蹤的量可能會非常大，這時要特別注意程式的寫法，不要因為前端的錯誤槁掛了你的伺服器，而且有查到錯誤就要立即處理，降低錯誤發生的次數與提升網站品質。

**相關連結**

-   [elmah - Error Logging Modules and Handlers for ASP.NET](http://code.google.com/p/elmah/)
-   [ASP.NET WebError Logging](https://web.archive.org/web/20140812073810/http://weberrorlogger.codeplex.com:80/)
-   [Logging JavaScript Errors To ASP.NET](https://james.newtonking.com/archive/2006/05/02/logging-javascript-errors-to-aspnet/)
-   [Events/error - jQuery JavaScript Library](http://docs.jquery.com/Events/error)
-   [DOM events - Wikipedia, the free encyclopedia](http://en.wikipedia.org/wiki/DOM_Events)
