如何检查异步加载的脚本是否已在javascript中完成加载

如何检查异步加载的脚本是否已在javascript中完成加载

本文介绍了如何检查异步加载的脚本是否已在javascript中完成加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Using javascript to asynchronously download another javascript file.

我知道这可以通过在 src 属性设置为文件URL。

I understand that this can be done by inserting a new script tag onto the page with the src attribute set to the file url.

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

I also need to run some code when the script is finished downloading. I've been using yepnope for this and they provide "callbacks" that execute when the script has finished downloading and executing.

这是如何实现的?

谢谢!

推荐答案

大多数JS加载器通过向DOM注入< script> 标记并绑定其<$​​ c $ c来实现此目的> onload 事件到你提供的函数。

Most JS loaders do this via injecting an <script> tag to the DOM, and binding its onload event to your provided function.

yepnope 使用相同的方法,您可以从中观察到它。函数 injectJs 使用 doc.createElement 创建一个DOM元素,设置 src 以及使用 setAttribute 的其他所需属性,绑定 onreadystatechange & onload 提供回调的事件,最后将元素插入到文档中。

yepnope uses the same approach, and you may simply observe that from its source code. The function injectJs creates a DOM element using doc.createElement, sets src and other needed attributes using setAttribute, binds the onreadystatechange & onload event to the provided callback, and finally inserts the element into the document.

这篇关于如何检查异步加载的脚本是否已在javascript中完成加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-12 03:37