网页什么时候第一次出现?

When does a web page appear the first time?

我想知道网页何时第一次出现,尤其是与 DOMContentLoaded 或 Load 事件等事件相关的问题。

如果我知道有问题的事件,那么我可以将 HTTP 请求最小化直到那个点,然后延迟加载资源。诚然,我对这个主题的了解有限,我知道这是一个非常广泛的主题,但我更想了解一些实用信息。

According to Google,这是事件的一般顺序:

  1. Process HTML markup and build the DOM tree.
  2. Process CSS markup and build the CSSOM tree.
  3. Combine the DOM and CSSOM into a render tree.
  4. Run layout on the render tree to compute geometry of each node.
  5. Paint the individual nodes to the screen.

According to Google again,

  • domContentLoaded typically marks when both the DOM and CSSOM are ready.

总的来说,我会说,DOMContentLoaded 是最接近标记绘制的事件,Load 是最接近渲染时的事件 并且外部资源加载完成。

但是,这可能会因浏览器实现、HTML 版本(4、5 等)以及我没有考虑的其他因素而异。