Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
如何检测jquery是否已使用javascript完成加载_Javascript_Jquery - Fatal编程技术网

如何检测jquery是否已使用javascript完成加载

如何检测jquery是否已使用javascript完成加载,javascript,jquery,Javascript,Jquery,好的,我用它来延迟jQuery的加载并修复任何渲染阻塞问题 当您在解析过程中阻止外部脚本时,会发生此问题,该脚本正在加载jQuery或任何其他大型javascript文件,而这些文件不需要渲染折叠区域上方的内容。因此,有了上面的代码,问题就解决了。但是我有一个问题,我有运行$(document).ready()的代码,但是它出现了故障,因为jQuery还没有加载 如何确定jQuery是否已完成加载?一个选项是将脚本标记放在正文的末尾,或者: function downloadJSAtOnlo

好的,我用它来延迟jQuery的加载并修复任何
渲染阻塞问题

当您在解析过程中
阻止外部脚本时,会发生此问题,该脚本正在加载
jQuery
或任何其他
大型javascript文件,而这些文件不需要渲染折叠区域上方的内容。因此,有了上面的代码,问题就解决了。但是我有一个问题,我有运行
$(document).ready()
的代码,但是它出现了故障,因为jQuery还没有加载


如何确定jQuery是否已完成加载?

一个选项是将脚本标记放在正文的末尾,或者:

  function downloadJSAtOnload() {
 var element = document.createElement("script");
 element.src = "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js";
 document.body.appendChild(element);
 }

 if (window.addEventListener)
 window.addEventListener("load", downloadJSAtOnload, false);
 else if (window.attachEvent)
 window.attachEvent("onload", downloadJSAtOnload);
 else window.onload = downloadJSAtOnload;

从这个答案:

您是否能够将
jQuery
加载内联到
HTML
本身?如果您的其他函数依赖于
$(document).ready()
,只需将
jQuery
加载放在
HTML
头中,我们需要推迟jQuery,因为它会导致渲染阻塞,所以我们不应该像以前那样将其加载到head标记上。看起来很棒。我将尝试+1我使用了你提供的链接中的@tylermwashburn答案。我觉得它更短更好。谢谢你的链接非常有用!我同意,那个更干净。
(function() {
  function getScript(url,success){
    var script=document.createElement('script');
    script.src=url;
    var head=document.getElementsByTagName('head')[0],
        done=false;
    script.onload=script.onreadystatechange = function(){
      if ( !done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') ) {
        done=true;
        success();
        script.onload = script.onreadystatechange = null;
        head.removeChild(script);
      }
    };
    head.appendChild(script);
  }
    getScript('http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js',function(){
        // YOUR CODE GOES HERE AND IS EXECUTED AFTER JQUERY LOADS
    });
})();