gpt4 book ai didi

javascript - 如何在 Internet Explorer 中触发 script.onerror?

转载 作者:数据小太阳 更新时间:2023-10-29 06:03:57 27 4
gpt4 key购买 nike

onerror page on MSDN声明 onerror 处理程序可以附加到脚本元素,并且它“在对象加载期间发生错误时触发。”。

出于单元测试的目的,我试图让这个 onerror 处理程序触发,但找不到合适的示例。

以下代码在 Firefox 中触发错误,但在 Internet Explorer 中不显示任何警报

<script src="http://www.google.com/NOTFOUND.js" onerror="alert('error fired')"></script>

有谁知道 script.src 的值会触发附加到 script.onerror 的处理程序?

最佳答案

我找到了这个 buried in some MSDN documentation :

Note that the documentation mistakenly says this works for elements too; the error will be fixed in the Workshop documentation for the final release of Internet Explorer 5 in March.

我想到的下一件事是 onreadystatechange 事件:

<script src="http://www.google.com/NOTFOUND.js" onreadystatechange="alert(this.readyState)">

这个事件对我触发了两次,一次是“loading”,一次是“loaded”,不管脚本是否有效。我发现的其他文档说,有时它会触发一个完整的事件,但并不清楚何时应该触发。所以看起来这行不通。

所以我认为您只剩下检查脚本应该声明的变量是否确实存在的 hacky 解决方案。在 HTML 中:

<script src="http://yourdomain.com/declare_foo.js"></script>
<script>if (typeof foo == "undefined") {alert ('error loading script');}</script>

然后当然在 declare_foo.js 中,你会有

var foo = 'Script loaded successfully';

关于javascript - 如何在 Internet Explorer 中触发 script.onerror?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2027849/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com