使用 javascript 异步下载另一个 javascript 文件。
我知道这可以通过在页面上插入一个新的脚本标签来完成,并将src
属性设置为文件 url。
脚本下载完成后,我还需要运行一些代码。我一直在为此使用yepnope,它们提供了在脚本完成下载和执行时执行的“回调”。
这是如何实现的?
谢谢!
使用 javascript 异步下载另一个 javascript 文件。
我知道这可以通过在页面上插入一个新的脚本标签来完成,并将src
属性设置为文件 url。
脚本下载完成后,我还需要运行一些代码。我一直在为此使用yepnope,它们提供了在脚本完成下载和执行时执行的“回调”。
这是如何实现的?
谢谢!
大多数 JS 加载器通过将<script>
标签注入 DOM 并将其onload
事件绑定到您提供的函数来执行此操作。
yepnope
使用相同的方法,您可以简单地从其源代码中观察到。该函数使用, 设置和其他需要的属性injectJs
创建一个 DOM 元素,将&事件绑定到提供的回调,最后将元素插入到文档中。doc.createElement
src
setAttribute
onreadystatechange
onload
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);
这可以使用 jquery 来完成,如果你想使用它,Jquery.getScript()
结帐它提供有关它的详细信息的链接。