1

我是使用 javascript 的新手,我每天都在学习更多。我对javascript的加载、执行和延迟加载的基本知识有一些疑问。我在不同网站上搜索和阅读的越多,我就越困惑……

问题:

<head>1.在文件末尾和之前加载这些文件与加载外部文件</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 文件渲染

真的希望有人可以为我分享一些关于这方面的信息......最好,尼克拉斯

4

2 回答 2

0

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

  1. 加载文件
  2. 文件渲染
  3. 在文档中执行 js(google-suggest-code)
  4. 加载外部js
  5. 外部js的执行

但是如果你想包含一个像 jquery 这样的库并且你的文档中有依赖的代码,我宁愿将库加载到<head>

以及在正文结束之前的依赖js代码内部文件准备好包装

所以顺序是

  1. 加载文档和外部资源
  2. 渲染文件
  3. 在文档中执行js
于 2013-11-15T09:20:13.457 回答
0
  1. HTML 渲染是一个渐进的过程,这意味着浏览器不会等到所有 HTML 都被解析后才开始渲染。
  2. 卸载的样式表可能会阻止脚本。
  3. 脚本将阻止文档的解析,直到获取并执行脚本。

所以应该放置样式表以<head>进行渐进式渲染。脚本应该放在前面</body>以避免阻塞。

浏览器的工作原理

于 2013-11-15T14:15:15.753 回答