Joh*_*ofy 9 javascript error-handling console sentry
console在 Chrome 中我的页面中出现的 24 个错误中,Sentry 只记录了一个。
我遵循了文档并确保 Sentry<head>在页面中加载和初始化,在 jQuery 之后,但在我们的 CMS 供应商代码和自定义包之前:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://browser.sentry-cdn.com/5.8.0/bundle.min.js" crossorigin="anonymous"</script>
<script>
Sentry.init({
dsn: "https://...@.../..."
});
</script>
<script src="..."></script>
Run Code Online (Sandbox Code Playgroud)
我也修补哨兵描述这里复制console.error()与Sentry.captureMessage(),所以,我现在看到3级在哨兵的消息。
但我仍然在为三种类型的错误而苦苦挣扎:
Uncaught TypeError<img> srcset错误关于srcset错误:我已经onerror为图像添加了处理程序。它们在某些情况下会被调用,但在这种特殊情况下不会被调用(该srcset属性在文件名中有一个违反语法的空格);诚然,这个问题应该报告给 Chrome 开发团队而不是在 Sentry 中修复。
我试图自己捕获这些错误并手动将它们重定向到 Sentry,但以下侦听器甚至都没有在 Chrome 中捕获它们(抱歉.join(),只是测试代码,我没有美化它):
window.onerror = function (errorMsg, url, lineNumber) {
alert(["window.onerror", errorMsg, url, lineNumber].join());
return true;
};
window.addEventListener("unhandledrejection", function (e) {
alert(["window: Unhandled Rejection", e.reason.message].join());
});
window.addEventListener("rejectionhandled", function (e) {
alert(["window: rejectionhandled", e.reason.message].join());
});
window.addEventListener("error", function (e) {
alert(["window: Error", e.reason.message].join());
});
$.error = function (message) {
alert(["jQuery error", message].join());
};
Run Code Online (Sandbox Code Playgroud)
那么:我是否遗漏了什么(一些 Sentry 配置设置、我应该捕获的其他浏览器事件等)?
| 归档时间: |
|
| 查看次数: |
1236 次 |
| 最近记录: |