js 错误监控

本文介绍了JavaScript中错误的分类,包括即时运行错误和资源加载错误的处理方法。对于即时运行错误,可以通过try...catch和window.onerror进行捕获。资源加载错误方面,可以利用object.onerror、performance.getEntries()以及Error事件。同时,为实现跨域资源错误捕获,需在script标签添加crossorigin属性,并配置相应的响应头。最后,讨论了错误上报的基本原理,提到了使用ajax和image对象进行错误信息的上报。
摘要由CSDN通过智能技术生成

1.错误的分类

  •  即时运行错误:代码错误

        (1) try...catch    (2) window.onerror /addEventLister  

  • 资源加载错误(不会冒泡但是可以捕获)

       (1) object.onerror(写在标签上)  (2)performance.getEntries();可以拿到所有正常加载的资源 是一个数组。

         (3)Error事件捕获

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>jsonp 演示</title>
        <script type="text/javascript">           
            window.addEventListener('error',function(e){console.log(e)},true)
//true 捕获 false 冒泡
        </script>
    </head>
    <body>
        <script src="http://mkool.com/aa.html" charset="utf-8"></script>
    </body>
</html>

 

 

js 跨域资源也可以捕获 需要在script 标签添加 crossorigin属性,设置js资源相应头 Access-Control-Allow-Origin:*

上报错误的基本原理

(1)ajax

(2) 用 image对象上报

 (new Image).src="http://mook.com/aa.html?a=error"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值