前端错误监控捕获不到CSS加载失败的问题怎么办?
我在用 Sentry 做前端错误监控,JS 报错都能正常上报,但 CSS 文件加载失败(比如 404)完全没被记录到,这让我很难排查线上样式异常的问题。
试过监听 window.onerror 和 addEventListener(‘error’),但好像对 link 标签引入的 CSS 无效。是不是得单独处理?下面是我页面里引用的一个 CSS 文件:
@import url('/styles/theme-missing.css');
body {
background-color: #f5f5f5;
}
这种情况下怎么才能让监控系统知道 CSS 加载出错了?
functions.php里加个脚本来检测。首先在页面底部用JavaScript手动检查link标签的加载状态。这里有个简单的实现:
如果你用的是Sentry的话,把console.error换成相应的上报代码就行。记得要在DOM完全加载后再执行这个脚本。
另外,如果不想自己写代码,也可以看看有没有现成的WordPress插件能处理这种资源加载监控。不过我建议还是自己写比较靠谱,毕竟第三方插件质量参差不齐。
说实话这方法也不完美,但至少能帮你发现那些404的CSS文件。做前端监控真是个体力活啊。