我尝试让我的网站加载速度更快。我跑得最快,遇到了“推迟解析javascript”。 我使用不同的网站来进行速度测试。 建议将外部js放在1个文件中。 我在这个网站上找到了一个脚本:defer parsing js script并使用了它。 这是在最后一个机构之前:
<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "defer.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;
</script>
这是在defer.js:
(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;
if(success && getScript.call(success) == '[object Function]') { success(); }
script.onload = script.onreadystatechange = null;
head.removeChild(script);
}
};
head.appendChild(script);
}
getScript('
http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',function(){
getScript('highslide/highslide-full.js');
getScript('javascripts/bootstrap-v3.2.0.min.js');
getScript('http://www.statcounter.com/counter/counter.js');
getScript('js/jquery.flexslider-min.js');
getScript('http://chs02.cookie-script.com/s/3e2959acb953e61e326f4716f65b6748.js');
getScript('js/jquery.easing.1.3.js');
getScript('js/jquery.kwicks-1.5.1.js');
getScript('javascripts/dropdown-custom.js');
getScript('js/touchTouch.jquery.js');
getScript('js/jquery.cookie.js');
});
})();
但是当我测试时,下拉菜单,滑块和我的高滑动图像无法正常工作。我可以改变什么才能起作用? 这是测试页:testpage
约翰娜