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