组合<头部>
combining inline scripts in <head>
我的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>
如果您的目标是允许页面在加载脚本之前显示,有一种更简单的方法:只需将脚本标记(按适当的顺序)放在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>
window
对象上的load
事件发生在页面加载过程的后期,在所有其他资源完全加载(或加载失败)之后。所以所有的图像,包括前景和背景等。
通过将脚本放在正文的末尾,可以在合理的时间将它们放入浏览器的下载队列,但不会让浏览器在进行初始页面渲染之前等待脚本到达。您还可以获得排序(通过script
元素上的defer
属性也可以获得排序,但并非所有浏览器都支持它)。更多:YUI加速网站的最佳实践
您在评论中询问了何时使用load
事件加载脚本。我的答案是:我从来没有这样做的理由。
相关文章:
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- 在<头部>使用javascript/jQuery
- 如何将脚本添加到<头部>标记
- npm僵尸放置<头部><身体>
- $.mobile.loadPage()和$(“linkBtn”).click();t负载<头部></头部&
- 在</头部>(closing-head)标记,以便用java脚本检索它
- 在<头部>来自Yii的控制器
- 删除<脚本>标签中的<头部>在所有Drupal 7页中
- "$"未定义;jquery在<头部>;没有冲突的脚本或库
- 如何在<头部>
- 组合<头部>
- 移动<身体>至<头部>
- 如何在<头部>部分
- Cordova接受<script src=“;myfile.js”>在<头部>
- 避免在<头部>
- 将行添加到<头部>在Iron Router中使用Layouts时
- 如何在每个</头部>在多个HTML页面站点中
- 我发现,就在</头部>标签我有<脚本id=“__isTpiViewExists”></脚本>
- <头部>JS脚本未执行
- 让一个javascript加载多个其他java脚本而不接触<头部>