Document.readystate "интерактивный" и "ondomcontentloaded"?

Может ли кто-нибудь сказать мне разницу между "интерактивным" состоянием document.readyState и "DOMContentLoaded"?

Я не мог найти много информации о "интерактивном" состоянии и о том, что конкретно доступно для использования на странице.

Эта страница говорит:

interactive - достаточно загружен и пользователь может взаимодействовать с ним

Кажется, что подобная роль похожа на событие DOMContentLoaded.

Я написал здесь страницу быстрого тестирования, которая, похоже, предполагает, что интерактивный readistate, по-видимому, доступен перед событием DOMContentLoaded.

Так может кто-то уточнить или дать мне некоторую информацию о том, что доступно для манипулирования на странице в интерактивном состоянии и является ли она такой же, как DOMContentLoaded, и если да, то почему она доступна до DOMContentLoaded?

:)

Cheers, Янский.

Изменить: забыли добавить, вам нужно запустить FF4b, чтобы иметь возможность использовать/видеть новую функцию readistate.

Ответы

Ответ 1

Как только пользовательский агент прекратит разбор документа, пользовательский агент должен выполнить следующие шаги:

  • Установите текущую готовность документа к интерактивному ", а точка вставки - undefined.

  • Поместите все узлы из стека открытых элементов.

  • Если список скриптов, которые будут выполняться, когда документ завершил разбор, не пуст, запустите эти подшаги:

    а. Прокрутите цикл событий до тех пор, пока первый script в списке скриптов, которые будут выполняться, когда документ завершил разбор, имеет флаг "готов к работе с парсером" set и синтаксический анализатор не имеет таблицы стилей, которая блокирует скрипты.

    б. Выполните первый script в списке скриптов, которые будут выполняться, когда документ завершит разбор.

    с. Удалите первый элемент script из списка скриптов, которые будут выполняться, когда документ завершит синтаксический анализ (т.е. Переместите первую запись в списке).

    д. Если список скриптов, которые будут выполняться, когда документ завершил разбор, по-прежнему не пуст, повторите эти подэтапы снова из подэтапа a.

  • Задайте задачу для запуска простого события, которое пузырится с именем DOMContentLoaded в документе. , , , http://dev.w3.org/html5/spec/the-end.html#the-end

Ответ 2

Чтобы ответить на мой собственный вопрос здесь, кажется, что событие DOMContentLoaded равнозначно document.interactive readistate.