Last active
March 10, 2020 08:29
-
-
Save mirinzhang/aeb2ef695bbb55f77a77c169c7c60725 to your computer and use it in GitHub Desktop.
Revisions
-
mirinzhang revised this gist
Mar 10, 2020 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -11,7 +11,7 @@ var errorHandler = { }, // 记录普通错误 script: function (message, source, lineno, colno) { var stack = source + ':' + lineno + ':' + colno; errorHandler.callback('script', message, stack); }, // 记录资源加载错误 -
mirinzhang created this gist
Mar 3, 2020 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,37 @@ var noop = function(){}; var errorHandler = { callback: null, init: function (callback) { errorHandler.callback = callback || noop; window.onerror = errorHandler.script; window.addEventListener('error', errorHandler.source, true); window.addEventListener('unhandledrejection', errorHandler.promise, true); }, // 记录普通错误 script: function (message, source, lineno, colno) { var stack = (error && error.stack) || source + ':' + lineno + ':' + colno; errorHandler.callback('script', message, stack); }, // 记录资源加载错误 source: function (e) { e.preventDefault(); var target = e.target || e.srcElement; var isElementTarget = target instanceof HTMLScriptElement || target instanceof HTMLLinkElement || target instanceof HTMLImageElement; // 不是资源加载错误时,直接返回 if (!isElementTarget) { return false; } var url = target.src || target.href; errorHandler.callback('source', 'Unable to load resources', url); }, // 记录promise错误 promise: function (e) { e.preventDefault(); var error = e.reason || {}; errorHandler.callback('promise', error.message, error.stack); } };