火狐浏览器网络面板计时:什么是onload时间?

11

我正在使用Firebug的网络面板查看响应时间。 在网络面板的状态栏中,摘要显示如下:

10个请求        90KB            10.22秒 (onload 6.57秒)

那个onload时间是什么意思?它是否意味着一旦从服务器收到内容,就需要另外花费6.57秒才能使页面可用(即完成 onready 事件)?

注意:我正在测试的网站有大量Qooxdoo组件和大量JavaScript。

2个回答

12
您的页面初始化顺序如下:
  1. head脚本
  2. body脚本
  3. onload事件
  4. 稍后进行的事情
因此,“onload”表示直到onload事件被触发并执行完成的时间。在Firebug中,onload的计时包括了整个初始化过程,包括onload事件本身。
onload会等待页面引用的所有资源加载完成(例如图片、脚本、CSS等),然后才会执行后续的初始化操作,这些操作通常由setTimeout()触发,在所有元素都就位后执行。在setTimeout()中的任何内容都是新的调用堆栈,并不属于onload的一部分。

根据我发布的示例时间,可以得出:在服务器响应后,onload事件触发之前经过了6.57秒。我的理解正确吗? - user504674
1
它包括onload事件本身(在我的答案中有澄清)。因此,所有页面初始化直到和包括onload。然后其他4秒钟是在onload之后发生的事情。 - Martin Algesten

-1
  • 距离onload事件触发还有6.57秒
  • 距离所有其他事物加载完成(例如在onload事件上设置的内容)还有10.22秒

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接