web前端錯誤監控
阿新 • • 發佈:2019-02-27
web前端 設置 error 這樣的 事件 邏輯 dev () 聲明
一、錯誤分類
常見的web錯誤主要分為兩類:
1. 運行時錯誤:這個錯誤往往是我們在代碼書寫時造成的,比如語法錯誤、邏輯錯誤,這樣的錯誤通常在測試階段就會被發現,但是也可能存在“漏網之魚”。
2.資源加載錯誤:這個錯誤通常是找不到文件或者是文件加載超時造成的。
二、錯誤捕獲
基於上面兩種的錯誤類型,也有不同的錯誤捕獲方式:
1.代碼錯誤捕獲:
try...catch...
try{ // 運行可能出錯的代碼 }catch{ // 捕獲錯誤 }
windown.onerror
window.onerror = function(){ // 捕獲錯誤 }
2. 資源加載錯誤
Object.onerror
var img =document.getElementById(‘#img‘); img.onerror = function() { // 捕獲錯誤 }
利用window的Error事件代理,但是需要註意的是error事件是不冒泡的,我們可以使用事件捕獲進行代理。
window.addEventListener("error",function(){ // 捕獲錯誤 },true);
三、錯誤上報
常見錯誤上報有兩種: ajax、image對象(推薦)。
ajax上報就是在上文註釋錯誤捕獲的地方發起ajax請求,來向服務器發送錯誤信息。
利用image對象:
(new Image()).src ="http://post.error.com?";
四、跨域js文件錯誤獲取
跨域js文件獲取是有限制的,如果想獲取其他域下的js錯誤需要在script標簽裏添加crossorigin屬性,服務器端要設置
header(‘Access-Control-Allow-Origin: *‘);
---------------------
作者:newbietao
來源:CSDN
原文:https://blog.csdn.net/newbietao/article/details/78018384
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
web前端錯誤監控