Особенности работы с объектной моделью HTML документа

Объектная модель документа (DOM) позволяет работать с HTML документом, как с деревом элементов. С помощью объектной модели разработчик может найти нужный ему HTML документ,  может обращаться к его свойствам, в том числе вносить в документ изменения.

Важно помнить, что, при изменении документа (программном изменении,  либо при навигации поля HTML документа) объекты HTML документа перестраиваются не моментально. В течении некоторого времени объектная модель документа не готова к использованию. Поэтому при разработке алгоритма, модифицирующего HTML документ, следует дождаться готовности HTML документа.

Для получения информации о готовности HTML документа к работе рекомендуется использовать обработчик события ДокументСформирован поля HTML-документа. При этом нужно помнить о следующей особенности: в момент окончания формирования документа, сообщение о событии помещается в очередь, но, до того как оно будет обработано, может произойти новое изменение HTML документа. Например, первый вызов данного события в форме обычно информирует о внутренней навигации поля HTML-документа. Поэтому в обработчике события ДокументСформирован  рекомендуется также анализировать значение свойства readyState HTML-документа.
Значение этого свойства показывает текущий этап формирования HTML документа. В случае, когда значение равно Complete, формирование объектной модели завершено, документ готов к работе.

Не следует анализировать готовность HTML документа вне обработчика события ДокументСформирован путем циклического опроса значения свойства readyState:

Копировать в буфер обмена
 Пока ЭлементыФормы.ПолеHTMLДокумента.Документ.readyState <> "complete" Цикл

 КонецЦикла;

Такой цикл может работать бесконечно, т.к. формирование HTML документа использует в своей работе синхронный обмен сообщениями через системную очередь сообщений, а обработки нового сообщения, в данном случае, не происходит.