Fundebug已經全面支持主流瀏覽器啦!
對于前端開發者,兼容各種瀏覽器是一件非常痛苦的事情。在搜索框中輸入關鍵字JavaScript瀏覽器兼容,結果是這樣的:
有瀏覽器的地方就有Fundebug
Fundebug是前端JavaScript錯誤實時監測平臺,經過大量兼容性調試,Fundebug的JavaScript監測插件已經能夠在各種主流瀏覽器中自動捕獲錯誤,并且可以獲取最全面的錯誤信息,幫助開發者更快的Debug。而對于近來不怎么受待見的IE瀏覽器,我們也進行了全面支持,從IE 6到IE 11。
為什么要兼容各種瀏覽器?
根據百度統計的最新數據,2016年10月份到12月份國內的瀏覽器份額如圖所示:
可知,用戶偏好千差萬別,而各版本的IE的市場份額總計為26%,僅次于Chrome。我還有什么話可說呢?國內主流瀏覽器都采用雙內核機制,即兼容模式和極速模式,而所謂兼容模式,使用的是triend內核,即IE內核。
作為一個自帶價值觀的產品,Fundebug希望通過兼容各種瀏覽器幫助開發者提升用戶體驗。
兼容瀏覽器坑在哪里?
- Error對象的屬性各有不同,例如大名鼎鼎的Chrome的Error對象木有fileName,lineNumber以及columnNumber屬性;
- Onerror事件的參數各有不同,例如老版本的Firefox木有columnNumber 和error參數
- API不同,例如老版本的IE木有JSON對象;
- 同一個屬性名在不同瀏覽器的含義不同;
- 同一個屬性在不同瀏覽器的名稱不同;
- 國內瀏覽器的IE兼容模式與真正的IE也略有不同;
- ......
這些問題大概前端工程師都會深有同感吧。
錯誤智能聚合
同樣的代碼產生的同一個錯誤,在不同瀏覽器上的報錯信息是各不相同的。name不同的錯誤可能是同一個錯誤,例如SyntaxError與ReferenceError;message不同的錯誤可能是同一個錯誤,例如can not find variable fundebug與fundebug is not defined。并且,同一個錯誤在不同瀏覽器下的lineNumber,columnNumber,stack,與url都有可能不同。
對于這個問題,我們對收集的錯誤利用機器學習算法進行了智能聚合,盡量將同一個錯誤聚合到一起,減少重復報警。根據我們的初步估算,目前聚合算法能夠將90%的重復錯誤成功聚合,這樣極大地提高了用戶分析錯誤的效率。
還等什么呢?感覺免費注冊Fundebug吧!
版權聲明:
轉載時請注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2017/01/16/fundebug-support-all-browsers/