Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待jQuery加载_Javascript_Jquery - Fatal编程技术网

Javascript 等待jQuery加载

Javascript 等待jQuery加载,javascript,jquery,Javascript,Jquery,我试图检查jQuery是否已加载。如果没有,请加载它,然后继续加载外部javascript文件。我遇到的问题是,其中一个外部文件希望已加载jQuery,因此我得到一个“jQuery未定义”错误。是否有一种方法可以使用JavaScript加载jQuery,并在加载完成后继续 if(!window.jQuery){ var script = document.createElement('script'); script.type = "text/javascript"; s

我试图检查jQuery是否已加载。如果没有,请加载它,然后继续加载外部javascript文件。我遇到的问题是,其中一个外部文件希望已加载jQuery,因此我得到一个“jQuery未定义”错误。是否有一种方法可以使用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>
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(脚本);
}
//在jquery加载后加载这些脚本

我想做的是等待它完全加载,然后再继续。我尝试过,但在超出调用堆栈时出现错误

请考虑以下人员尝试和测试的技术:


window.jQuery | | document.write(“”)

请注意,
请考虑以下人员尝试和测试的技术:


window.jQuery | | document.write(“”)

请注意,
您是否尝试过按照通常的顺序添加脚本标记,并依靠Google不会失败?或者下载jQuery并从您自己的js目录加载它?我很难说这一点,但这是一个我建议使用
document.write()的实例
添加
标记。这样您就保证了它将像任何其他
标记一样加载(即同步加载)。请注意,通常的做法是硬编码CDN
标记,如果失败,则添加本地副本。为自己的服务器失败制定计划没有多大意义。您是否尝试过按照通常的顺序添加脚本标记,并依靠Google不失败?或者下载jQuery并从自己的js目录加载它?这很痛苦我不想这么说,但在这个例子中,我建议使用
document.write()
添加
标记。这样,您就可以确保它将像任何其他
标记一样加载(即同步加载)。请注意,通常的做法是硬编码CDN
标记,如果失败,则添加本地副本。为自己的服务器故障制定计划没有多大意义。我假设/js/vendor/jquery…是来自我的服务器的路径,还是您意外遗漏了其他路径?这就是HTML5样板文件放置jquery文件的地方。您应该,当然,请将其更改为任何合适的内容。@Blazmonger抱歉,我的意思是我应该链接一个google托管的服务器还是从我自己的服务器?只是想知道这是否有很大的区别。对于这个实例,速度并不是一个非常重要的因素,我只是想确保jQuery已加载。我不知道源代码是否重要。第一行代码ls代表Google的CDN版本的jQuery;第二行调用本地版本的jQuery,当且仅当Google的不起作用时。我假设/js/vendor/jQuery…是来自我服务器的路径,还是您无意中遗漏了其余的路径?这就是HTML5样板文件放置jQuery文件的地方。当然,您应该将其更改为任何合适的路径。@Blazm更抱歉,我的意思是我应该链接一个谷歌托管的还是从我自己的服务器?只是想知道这是否会有很大的不同。对于这个例子,速度并不是一个非常重要的因素,我只是想确保jQuery被加载。我不知道源代码是否重要。第一行代码需要谷歌的CDN版本的jQuery;第二行代码当且仅当谷歌的jQuery不起作用时才调用本地版本的jQuery。
<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>