【问题标题】:Which file downloads first? css or js哪个文件先下载? css 或 js
【发布时间】:2019-01-30 04:02:10
【问题描述】:
<head>
  <script src="/some/path/to/js"></script>
  <link href="/some/path/to/css">
</head>

当我们在&lt;head&gt; 标记之前有一个&lt;script&gt; 标记(用于js 文件)时,位于&lt;link&gt; 标记(用于css 文件)之前。浏览器会首先请求哪个文件?

  1. 会不会同时请求css和js文件?
  2. 在请求css文件之前,是否会先等待js文件下载完成?
  3. 或者,它会先下载css,用完整的HTML和CSS渲染页面,然后再请求js文件吗?

Describe the page rendering process in a browser? 这篇文章没有解释 js 文件的阻塞特性以及它如何影响 HTML 渲染/解析。

【问题讨论】:

  • 已经给出了许多关于此的问题和答案。浏览器从上到下读取每个文件,因此首先加载先到的文件。大多数开发人员将脚本设置在底部,因为 JS 对页面加载的影响更大。这意味着 JS 不会在底部阻止页面渲染。
  • @SuperDJ 请阅读编辑。

标签: javascript html css dom browser


【解决方案1】:

一般…&lt;script&gt; 不是deferasync 的元素可以document.write 阻止对HTML 文档的进一步解析。在处理脚本之前,&lt;link&gt; 不会添加到 DOM,因此在此之前它不会下载 CSS。

然而,HTTP 2 即将到来,它允许服务器在没有浏览器明确请求的情况下启动delivering associated resources

【讨论】:

    【解决方案2】:

    浏览器从上到下读取,这就是为什么您在各种项目中看到文档末尾的 JS 脚本以防止任何错误,因此首先加载 DOM。它不会首先加载脚本。如果您打开检查器工具 -> 网络,您可以刷新示例页面并查看 dom 在文件中的加载方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 2017-05-11
      • 2019-03-25
      相关资源
      最近更新 更多