document.readystate of“interactive”与ondomcontentloaded?

时间:2010-09-08 07:40:38

标签: javascript dom onreadystatechange

有人能告诉我document.readyState和“DOMContentLoaded”的“交互”状态之间的区别吗?

我找不到关于“互动”状态的大量信息,以及在页面中可以使用的具体内容。

This page说:

  

interactive - 已加载足够,用户可以与之交互

这似乎很像DOMContentLoaded事件。

我写了一个quick test page here,似乎暗示交互式readystate似乎在DOMContentLoaded事件之前可用。

那么有人可以澄清或给我一些关于可以在交互状态下在页面上操作的信息,以及它是否与DOMContentLoaded相同,如果是这样,为什么它在DOMContentLoaded之前可用?

:)

干杯, Yansky。

编辑:忘记添加,您需要运行FF4b才能使用/查看新的readystate功能。

2 个答案:

答案 0 :(得分:13)

用户代理停止解析文档后,用户代理必须执行以下步骤:

  1. 将当前文档准备就绪设置为“交互式”,并将插入点设置为未定义。

  2. 从开放元素堆栈中弹出所有节点。

  3. 如果文档解析完毕后将执行的脚本列表不为空,请运行以下子步骤:

    。旋转事件循环,直到文档完成解析时将执行的脚本列表中的第一个脚本具有“准备好解析器执行”标志 set和解析器的Document没有阻止脚本的样式表。

    B'/ em>的。执行脚本列表中的第一个脚本,该脚本将在文档完成解析时执行。

    C 的。从文档完成解析后执行的脚本列表中删除第一个脚本元素(即移出列表中的第一个条目)。

    d 。如果在文档完成解析时将执行的脚本列表仍然不为空,请从子步骤 a 再次重复这些子步骤。

  4. 将任务排队以在Document处触发名为 DOMContentLoaded 的气泡的简单事件。 。 。 。 https://www.w3.org/TR/html5/syntax.html#the-end

答案 1 :(得分:5)

在这里回答我自己的问题,似乎DOMContentLoaded事件等同于document.interactive就绪状态。