如何检测异步加载的jquery何时完成加载?

Tom*_*Tom 5 javascript jquery events load asynchronous

我想在页面上异步加载jquery,然后加载另一个依赖于jquery的脚本(它在加载时执行jquery代码).但是如何检测jquery是否已经完成了lodading.在jquery中是否有这样的事件,当库完成加载时会触发?

从理论上讲,我可以像这样加载jquery:

<script async src="jquery.js" onload="jqueryloaded()"></script>
Run Code Online (Sandbox Code Playgroud)

但我希望代码也适用于旧浏览器,这可能不支持async和onload属性.(在这种情况下,jquery是同步加载的.)这就是为什么我正在寻找一个jquery在加载时发出的事件.有吗?

Pau*_*Rad 14

你可以试试这个:

var script = document.createElement('script');
script.src = 'jquery.js';
script.onload = jqueryloaded; // thx @Cookie_Monster
document.body.appendChild(script);
Run Code Online (Sandbox Code Playgroud)

  • 尽管你可以做`script.onload = jqueryloaded;`来缩短它. (4认同)
  • @JFit` $ .ajax`是一个jQuery函数,这个主题讨论加载jQuery,所以没有 - 你不能.你可以使用AJAX.我认为这是最好的答案,因为您可以在DOM之后加载它(将脚本放在正文的底部),这样它不会减慢页面加载速度,那么谁在乎它是否异步? (3认同)
  • @JFit` $ .ajax()`是一个jQuery方法,你不能在加载jQuery之前使用它.这就是说,对于其他脚本,你可以使用:`$ .getScript();`方法 (2认同)