錯(cuò)誤分類
- 及時(shí)運(yùn)行錯(cuò)誤:代碼錯(cuò)誤
- 資源加載錯(cuò)誤
錯(cuò)誤的捕獲方式
- 運(yùn)行時(shí)錯(cuò)誤的捕獲
1般妙、try..catch
try{
可能會(huì)發(fā)生錯(cuò)誤的代碼
}catch(e){}
2酒繁、window.onerror
/**
* @param {String} errorMessage 錯(cuò)誤信息
* @param {String} scriptURI 出錯(cuò)的文件
* @param {Long} lineNumber 出錯(cuò)代碼的行號(hào)
* @param {Long} columnNumber 出錯(cuò)代碼的列號(hào)
* @param {Object} errorObj 錯(cuò)誤的詳細(xì)信息谊囚,Anything
*/
window.onerror = function(errorMessage, scriptURI, lineNumber,columnNumber,errorObj) {
// TODO
}
- 資源加載時(shí)錯(cuò)誤捕獲
1腹躁、Object.onerror
<img src="image.gif" onerror="myFunction()">
2、performance.getEntries()
返回一個(gè)已加載的資源數(shù)組湾趾,獲取節(jié)點(diǎn)中的所有img標(biāo)簽,減去已加載的剩下的是未加載的
3派草、Error事件捕獲(捕獲階段)
window.addEventListener('error', function (e) {
console.log('捕獲', e);
}, true);
- 跨域的js捕獲錯(cuò)誤
1在script標(biāo)簽增加corssorigin屬性
2配置一下服務(wù)器搀缠,設(shè)置靜態(tài)資源Javascript的Response為Access-Control-Allow-Origin
錯(cuò)誤上報(bào)
1、ajax通信上報(bào)
2近迁、利用Image對(duì)象上報(bào)
(new Image()) = 'http://baidu.com/tesjk?r=tksjk';//上報(bào)的路徑