Vue项目JS脚本错误捕获

今天讲下Vue项目的的脚本错误捕获。

一、JS 脚本

一般的前端项目错误捕获是在window.onerror中进行处理。比如:

/**
     * 监听全局脚本错误
     * @param {String}  errorMessage   错误信息
     * @param {String}  scriptURI      出错的文件
     * @param {Long}    lineNumber     出错代码的行号
     * @param {Long}    columnNumber   出错代码的列号
     * @param {Object}  errorObj       错误的详细信息,Anything
     */
    window.onerror = function(errorMessage, scriptURI, lineNumber,columnNumber,errorObj) {
        
        let errorData = {
            message:errorMessage ,
            stackinfo: errorObj,   
        };   

        reportJsError({
            code: 'xxxxx',
            msg: errorData,
            action: 'js-global-error',
            file: encodeURIComponent(location.href),   
            line: lineNumber,        
        });    
    }

在onerror方法中会返回错误信息,错误文件等一系列的信息。需要注意的有下面2个点:

1、浏览器兼容性。

   此方法有一定的浏览器兼容性,具体情况如下:

Vue项目JS脚本错误捕获_第1张图片

2、跨域脚本情况。

    当加载自不同域的脚本中发生语法错误时,errorMessage始终是‘Script error.’,lineNumber 为0。通过在

你可能感兴趣的:(Javascript)