【问题标题】:Javascript detect static <script> load failues [duplicate]Javascript检测静态<script>加载失败[重复]
【发布时间】:2014-09-16 03:52:54
【问题描述】:

这类似于How to tell if a <script> tag failed to load。但我的问题特别是关于我的 HTML 正文中的普通旧 &lt;script&gt; 标签,就像这样

<script type="text/javascript" src="/path/to/my/script.js"></script>

我编写了一个自定义的window.onerror 函数来处理一般脚本错误。事实上,如果这样的脚本在评估脚本本身时出现语法错误或其他一些运行时错误,我的onerror 函数会正确处理。

但如果脚本完全加载失败,由于连接中断甚至 404 或其他服务器错误,则不会调用 window.onerror。如何在 Javascript 中以编程方式检测这种故障?

澄清一下:我意识到我可以在每个脚本标签中添加一个onerror 属性。我在问是否有更好的方法,类似于我的全局 window.onerror 或某种使该函数被调用的方法。

【问题讨论】:

  • 我认为这与您链接的帖子完全相同。不管我读了多少遍。只有我吗?
  • 这就是为什么我在问题中提到“静态”并实际上写出了脚本标签 - 这 不是 动态脚本,它只是一个普通的旧 script 标签我的 HTML。
  • 但我想我明白你的意思了——听起来我需要在我的脚本标签中添加一个onerror 属性。这真的是唯一的方法吗?
  • 在您看来,已经插入模板中的script 标记与后来使用JS 插入的script 标记之间的区别在哪里?与您链接的问题相比,我看不出您的问题有什么特别之处。
  • 嗯,例如,对于动态脚本,我可以使用 Ajax(在我的例子中,用 jQuery 包装),我将拥有一个带有 readyState 和我可以检查的状态的 XHR 对象。

标签: javascript html


【解决方案1】:

您可以在脚本标签中检查您的独特功能

 if (typeof youruniquefunction!== 'undefined' ) {
   // your script ok
}

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 2012-09-12
    • 2019-09-26
    • 2016-09-09
    • 2013-06-10
    • 1970-01-01
    • 2022-09-30
    • 2010-09-27
    • 2021-01-25
    相关资源
    最近更新 更多