接入 arms,发现window.__bl is undefined,怎么弄?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
window.__bl
是 ARMS 在前端页面中注入的一个全局变量,用于收集和上报可观测数据。如果发现 window.__bl
未定义,可能是以下原因之一:
window.__bl
,可能会导致该变量未定义。请确保在访问 window.__bl
之前,ARMS SDK 已经加载完成。window.__bl
。请确保您的页面和 ARMS 服务端之间的跨域策略设置正确。window.__bl
这种形式的全局变量定义。请确保您的浏览器版本符合 ARMS 的要求。window.__bl
的定义或值,也可能导致该变量未定义。请检查您的页面代码,确保没有其他脚本对 window.__bl
进行干扰。在接入阿里云ARMS(Application Real-Time Monitoring Service)的过程中,如果遇到window.__bl is undefined
这样的错误,通常意味着在你的前端应用中,ARMS的监控脚本可能没有正确加载或初始化。
阿里云ARMS前端监控依赖于其提供的JS SDK,该SDK会在全局作用域下创建__bl
对象来进行监控数据的收集和上报。为了解决这个问题,请尝试以下步骤:
确认脚本引用正确:
确保在HTML文件中正确引入了ARMS提供的前端监控脚本。一般是在
<script src="https://arms-retcode.aliyuncs.com/retcode/bl.js?wid=YourWebsiteId"></script>
将 YourWebsiteId
替换为实际的ARMS网站ID。
检查网络请求:
检查浏览器开发者工具中的网络面板,查看是否成功加载了bl.js
这个脚本,如果没有加载成功,可能是网络问题或路径错误导致的。
检查初始化时机:
如果脚本确实被加载了,但window.__bl
仍然未定义,那可能是脚本执行时序问题。确保在尝试访问window.__bl
之前,脚本已经完成加载并初始化。有时,由于异步加载脚本,你可能需要等待脚本加载完成后再执行相关操作,可以通过监听脚本的onload
事件来确保初始化完成。
云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。