簡體   English   中英

自動向開發人員報告javascript錯誤

[英]Automatically reporting javascript errors to the developer

在大多數生產環境中,如果我們的Web應用程序出現錯誤,我們會設置一些通知給我們。 問題在於,這僅涵蓋服務器端的錯誤。

我對社區的問題是:你在做什么關於客戶端錯誤,特別是在javascript中?

那么其他服務質量問題呢,比如處理速度慢和客戶機可能導致的其他問題?

您可以使用window.onerror事件處理客戶端JavaScript錯誤

在處理程序內部向服務器端錯誤挖掘器發出Ajax請求並記錄錯誤。

http://www.javascriptkit.com/javatutors/error.shtml

所有瀏覽器都不支持Hovewer window.onerror,jQuery可以用自己的事件處理程序填補空白:window.onerror和jQuery(window)的組合.error應該足夠了

在客戶端,你可以做很多關於JavaScript錯誤的事情。 您可以捕獲window.onerror並將其用於AJAX報告,但是:

(a)WebKit或Opera不支持它。 要捕獲所有錯誤,您必須在try { ... }包裝每個直接執行,事件和超時入口點,這非常混亂,並且比onerror處理程序提供的信息更少。

(b)您可能會被錯誤報告所淹沒,您無法做任何事情,由於缺乏信息而幾乎無法進行調試。 您可能能夠在只有您認識的客戶訪問的應用程序中使用它,但在公共訪問站點上,很多錯誤都是虛假的。 由以下因素引起的東西:

  • 與托管腳本或AJAX的站點的連接失敗或被防火牆阻止;

  • 意外的安全設置(瀏覽器可以選擇阻止許多接口);

  • 破壞的瀏覽器插件,類似GreaseMonkey的腳本,過濾代理和虛假的“Internet Security”工具弄亂你的代碼;

  • 不受支持的代理行為奇怪,如移動瀏覽器(尤其是令人震驚的IEMobile),如果有訪問權限,則自動瀏覽器機器人;

  • 如果你有的話,第三方內容如廣告引起的許多錯誤。

同樣,對於一個有限使用的應用程序,您可以直接聯系任何遇到問題的用戶,它可能是有用的,但對於一般公眾使用的站點,它是一個非首發。

最好使用“漸進增強”來確保您的應用程序在JavaScript失敗時仍然有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM