我遇到以下问题:
我的网站正在头部加载 jQuery。它具有“异步”标志,因此它是异步加载的。 我使用 jQuery 编写了一些函数并操作内容。
当我在 jQuery 文件末尾实现此函数时,有时 jQuery 会在网站的整个 DOM 之前加载。这意味着我的函数无法找到特殊元素并且不执行任何操作。 如果我在 HTML 文件的末尾实现这个函数,当 DOM 已经加载时,就会出现网页已完成但 jQuery 尚未完成的情况。然后我得到了 jQuery 引用未定义的错误。
有谁知道我该如何解决这个困境?当DOM和JS文件加载完毕后,异步加载JS并调用函数?
谢谢, 延斯
最佳答案
这并不困难,也不需要像其他答案所建议的那样需要额外的库或轮询。
脚本标记,包括标记为async
的标记,支持在加载时调用onload()
函数,并且jQuery具有$(document).ready()加载 DOM 时的方法。您需要等待两者。所以:
<script async src='jquery.js' onload='jqueryloaded()'></script>
<script>
function jqueryloaded() {
$(document).ready(function () {
// all your code
});
}
</script>
关于javascript - 我如何识别 JavaScript 文件已加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24222371/