等待jQuery加载

时间:2014-01-14 22:06:41

标签: javascript jquery

我正在尝试检查jQuery是否已加载。如果没有,加载它,然后继续加载外部JavaScript文件。我遇到的问题是其中一个外部文件期望已经加载了jQuery,所以我得到了一个'jQuery not defined'错误。有没有办法可以使用JavaScript加载jQuery,一旦完成它然后继续?

if(!window.jQuery){
    var script = document.createElement('script');
    script.type = "text/javascript";
    script.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js";
    document.getElementsByTagName('head')[0].appendChild(script);
}

//load these scripts after jquery has been loaded

<script src="/some/other/js/file/that/requires/jquery"></script>
<script src="/some/other/js/file/that/requires/jquery"></script>

我想做的是在继续之前等待完全加载。我试过this但是我遇到了超出调用堆栈的错误

1 个答案:

答案 0 :(得分:5)

考虑由HTML5Boilerplate尝试和测试的技术:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
<script src="js/plugins.js"></script>
<script src="js/main.js"></script>

请注意,<script src="//ajax.googleapis.com仅适用于实际的http:https:服务器;如果您正在测试本地文件系统,请改为编写<script src="http://ajax.googleapis.com