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;
好的,我正在使用googles tip来推迟加载jQuery并修复任何Render-blocking
问题。
如果blocking external script during parsing
正在加载jQuery
或任何其他large javascript files
不需要呈现上方折叠区域,则会出现此问题。因此,使用上面的代码,问题是固定的。但我有一个问题,我有运行$(document).ready()
的代码,但它因为jQuery尚未加载而导致错误。
如何判断jQuery是否已完成加载?
答案 0 :(得分:1)
一种选择是将脚本标记放在正文的末尾,或者:
(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
});
})();