加载javascript文件

时间:2013-11-15 09:09:53

标签: javascript performance

我刚开始使用javascript&我正在学习更多&每天都有更多。 关于加载,执行和加载的基础知识,我有一些问题。推迟加载javascript。我搜索的越多&在不同的网站上读到这个,我得到的更加困惑......

问题:

1。加载<head>中的外部文件与文档末尾的这些文件的加载就在</body>之前。

这有什么区别? 我所了解的是,当在</body>之前放置加载时,然后在执行js之前加载文档。但是文档的呈现怎么样?在执行js之前是否还发生了文档的渲染?像这样:

1加载文件

2文件的渲染

3加载js文件

4执行js

2。推迟加载js文件。我已经阅读了Google对js-loading的推荐。我的问题与上面的问题有点类似。文档的实际呈现何时发生?

Google建议使用此代码:

<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "your-js-file.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加载文件

2加载js文件

3执行js

4文件的渲染

真的希望有人可以为我分享一下这个... 最好的,尼克拉斯

2 个答案:

答案 0 :(得分:0)

在正确结束之前谷歌的尝试是:

  1. 加载文件
  2. 渲染doument
  3. 在文档中执行js(google-suggest-code)
  4. loading external js
  5. 执行外部js
  6. 但是如果你想要包含像jquery这样的库,你的文档中有依赖代码, 我宁愿在<head>

    中加载库

    和正文之前的依赖js-code内部文档就绪包装

    所以订单是

    1. 加载文件和外部资源
    2. 呈现文档
    3. 在文档中执行js

答案 1 :(得分:0)

  1. HTML呈现是一个渐进的过程,这意味着在开始渲染之前,浏览器不会等到所有HTML都被解析。
  2. 脚本可能会被卸载的样式表阻止。
  3. 脚本将阻止解析文档,直到获取并执行脚本为止。
  4. 因此样式表应放在<head>中以便逐渐渲染。脚本应放在</body>之前,以避免阻塞。

    How browsers work