window.addEventListener('error', handleListenerError, true); function handleListenerError(e) { var srcElement = e.srcElement; if (srcElement === window) { // 全局错误 console.error(JSON.stringify({ message: e.message, filename: e.filename, lineno: e.lineno, colno: e.colno, stack: e.stack, type: 'error', error: "script runtime error" })) } else { // 元素错误,比如引用资源报错 console.error(JSON.stringify({ src: srcElement.src, href: srcElement.href, tagName: srcElement.tagName, type: 'error', error: "resource load error" })) } }