javascript - 如何检查从 javascript 正确加载的网络资源?

标签 javascript html css

我的页面加载了许多资源。

我想知道是否有任何方法可以知道资源何时从 javascript 正确加载。

我有:

index.html

<script src="myResource.js"></script>

如何从 javascript 知道 myResource 已正确加载,而无需在 myResource 文件内搜索某些变量。

我想做这样的事情:

window.network.isLoaded("myResource.js") ? 'it is loaded!' : 'it is not loaded';

这可能吗?

最佳答案

您应该能够通过 load 事件监听器来实现此目的:

var $script = document.querySelector("[src='myResource.js']");

$script.addEventListener("load", function () {
    // your callback's code
});
<小时/>

正如 @pwolaq 所指出的,当脚本已经加载时,此代码将不起作用。

要解决此问题,您可以使用事件委托(delegate)和事件捕获(并确保将此代码放置在脚本定义之前):

var $document = document.querySelector("body");

document.addEventListener('load', function(evt) {
    var $script = document.querySelector("script[src='myResource.js']");

    if (!evt.target.isEqualNode($script) {
        return;
    }

    // Callback code
}, true);

关于javascript - 如何检查从 javascript 正确加载的网络资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39409448/

相关文章:

javascript - 如何使用 javascript 在服务器端文件中搜索特定文本?

javascript - 在 jQuery Mobile 中更改页面时闪烁的 UI

当 php 回显时,Javascript 不工作

html - min-height/min-width 在某些浏览器中不考虑 box-sizing

javascript - Nodejs 中的 mobx : observe array of primitives

javascript - 使用 CSS 的表格列样式

html - 使用 IcoMoon 添加输入类型提交的图标

html - 消除网站底部的空白

javascript - 如何获取任何 Android 手机的 MAC 地址?

javascript - 使用 Javascript 显示和隐藏表中的某些行