6

使用 javascript 异步下载另一个 javascript 文件。

我知道这可以通过在页面上插入一个新的脚本标签来完成,并将src属性设置为文件 url。

脚本下载完成后,我还需要运行一些代码。我一直在为此使用yepnope,它们提供了在脚本完成下载和执行时执行的“回调”。

这是如何实现的?

谢谢!

4

3 回答 3

4

大多数 JS 加载器通过将<script>标签注入 DOM 并将其onload事件绑定到您提供的函数来执行此操作。

yepnope使用相同的方法,您可以简单地从其源代码中观察到。该函数使用, 设置和其他需要的属性injectJs创建一个 DOM 元素,将&事件绑定到提供的回调,最后将元素插入到文档中。doc.createElementsrcsetAttributeonreadystatechangeonload

于 2012-08-24T20:02:14.240 回答
3

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);
于 2012-08-24T19:46:43.077 回答
1

这可以使用 jquery 来完成,如果你想使用它,Jquery.getScript()

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

于 2012-08-24T20:23:29.693 回答