生产环境下对页面报错的监控和上报
使用方法:window.onerror
window.onerror = function(message, url, line) {
if (!url) return;
var msg = {};
//记录客户端环境
msg.ua = window.navigator.userAgent;
// 具体需的信息根据实际情况定
msg.message = message.message;
msg.url = url;
msg.line = line;
msg.page = window.location.href;
var s = [];
//将错误信息转换成字符串
for(var key in msg){
s.push(key + '=' + msg[key]);
}
s = s.join('&');
// 利用img的src来做日志的上报
new Image().src = '/ajax-jserror.php?' + encodeURIComponent(s) + '&t=' + Math.random();
};
vue提供的方法(不会捕获警告信息):Vue.config.errorHandler
在 main.js文件 配置 errorHandler
Vue.config.errorHandler = function(err, vm, info) {
// 处理报错
console.log(`组件${vm.$vnode.tag}发生错误:${err.message},${info}`)
}
转载自 https://blog.fundebug.com/2019/06/17/handling-errors-in-vuejs