【发布时间】:2021-03-12 18:51:10
【问题描述】:
我正在寻找一种方法来以编程方式检测(使用 JavaScript)我的页面上的资源加载(我可以完全控制)是否被 Cross-Origin Resource Blocking 阻止。
例如,由于来自 https://example.com 的响应具有 Content-Type text/html; charset=UTF-8,因此以下 HTML 代码将在基于 Chromium 的浏览器中触发 CORB 错误:
<script src="https://example.com"></script>
但是我怎样才能检测到它发生了呢?简单地为脚本元素上的error 事件添加一个处理程序是行不通的;例如,以下代码不会打开对话框:
<script src="https://example.com" onerror="alert('CORB!')"></script>
请注意,我不对修复 CORB 错误或检查 CORB 错误的内容感兴趣;我只对以编程方式检测是否发生 CORB 错误感兴趣。这可能吗?
【问题讨论】:
-
你真的需要说这是因为 CORB 还是仅仅是错误就够了?顺便说一句,这似乎是一个 Chrome 错误,脚本没有错误。他们确实在 img 上开火了:jsfiddle.net/31y2dmt9
-
@Kaiido 很抱歉没有早点回复你,我自己正在研究这个话题。脚本没有错误不是 Chrome 的 bug,因为 Chrome 移除了响应的主体,空的响应是有效的 JS。它会为图像触发,因为空响应不是有效图像。
标签: javascript chromium detection cross-origin-read-blocking