结合内联脚本

时间:2013-11-30 14:33:14

标签: javascript html

我在html的部分中有以下代码,并且想知道如何清理它以优化加载。

<script type="text/javascript">

 function downloadJSAtOnload() {
 var element = document.createElement("script");
 element.src = "js/jquery.orbit-1.2.3.min.js";
 document.body.appendChild(element);
 }

 function downloadJSAtOnload() {
 var element = document.createElement("script");
 element.src = "http://code.jquery.com/jquery-latest.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;

</script>

1 个答案:

答案 0 :(得分:2)

如果您的目标是允许在加载脚本之前显示页面,那么更多更容易:只需将脚本标记(按适当的顺序)放在body的结尾,就在结束</body>标记之前:

<!-- ...content of page... -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="js/jquery.orbit-1.2.3.min.js"></script>
</body>
</html>

load对象上的window事件在页面加载过程后期发生非常,在所有其他资源完全加载(或加载失败)之后。所以所有图像,包括前景和背景等。

通过将脚本放在正文的末尾,您可以在合理的时间将它们放入浏览器的下载队列中,但不会让浏览器在执行初始页面呈现之前等待脚本到达。您也可以获得订购(您也可以使用defer元素上的script属性获得该订单,但并非所有浏览器都支持该订单。更多:YUI Best Practices for Speeding Up your Website

您在评论中询问何时使用load事件进行脚本加载。我的回答是:我没有理由这样做。