如何检查如果异步加载脚本已经在JavaScript加载完毕(How to check if an a

2019-09-21 15:51发布

使用JavaScript异步下载其他JavaScript文件。

我明白,这可以通过插入一个新的脚本到与该页面进行src设置为文件的URL属性。

我还需要当脚本完成下载运行一些代码。 我一直在使用yepnope了这一点,他们提供的“回调”的时候,剧本已经完成下载并执行该执行。

这是如何实现的呢?

谢谢!

Answer 1:

大多数JS装载机通过注入做到这一点<script>标记的DOM,和其结合onload事件,您提供的功能。

yepnope使用相同的方法,你可以简单地观察到,从它的源代码 。 功能injectJs创建使用DOM元素doc.createElement ,设置src使用和其他所需的属性setAttribute ,结合onreadystatechangeonload事件所提供的回调,最后插入元件到文档中。



Answer 2:

yepnope.injectJs( scriptSource [, callback ] [, elemAttributes ] [, timeout ]); 直客他们的网站 :您只需运行,你需要在成功的回调,像这样的代码。

// Example
yepnope.injectJs("jquery.js", function () {
  console.log("It is finished loading and I can do whatever I need to here");
}, { charset: "utf-8" }, 5000);


Answer 3:

这可以使用jQuery做,如果u想使用它, Jquery.getScript()

结帐它有关它的详细信息的链接。



文章来源: How to check if an asynchronously loaded script has finished loading in javascript