JavaScript. Подробное руководство, 6-е издание, стр. 517

ProcessingInstruction

инструкция обработки в XML-документе (Node)

Этот редко используемый интерфейс представляет инструкцию обработки в XML-документе. Программисты, работающие с HTML-документами, никогда не столкнутся с узлом

<b>Processinglnstruction</b>
.

Свойства

<b>string data</b>

Содержимое инструкции обработки (т. е. от первого непробельного символа после цели до закрывающих символов ?>, но не включая их).

<b>readonly string target</b>

Цель инструкции обработки. Это первый идентификатор инструкции обработки, следующий за открывающими символами <?; он определяет «обработчик», для которого предназначена инструкция обработки.

Progress

индикатор хода выполнения операции (Node, Element)

Объект

<b>Progress</b>
представляет HTML-элемент <progress> и отображается как графический индикатор хода выполнения некоторой операции.

Когда заранее общий объем работы или времени на ее выполнение неизвестен, говорят, что элемент

<b>Progress</b>
находится в неопределенном состоянии. В таком состоянии он просто отображает некоторую «рабочую» анимацию, чтобы показать, что операция выполняется. Когда общий объем работы (в единицах времени или в байтах) известен заранее, элемент
<b>Progress</b>
находится в определенном состоянии и может отображать ход выполнения операции в процентах в виде некоторого графического представления.

Элемент

<b>&lt;progress&gt;</b>
введен спецификацией HTML5, поэтому на момент написания этих строк он был реализован не во всех броузерах.

Свойства

<b>readonly Form form</b>

Элемент

<b>Form</b>
, если имеется, являющийся предком для данного элемента или определяемый HTML-атрибутом
<b>form</b>
.

<b>readonly NodeList labels</b>

Объект, подобный массиву, содержащий элементы

<b>Label</b>
, связанные с этим элементом.

<b>double max</b>

Общий объем работы, который требуется выполнить. Например, при использовании элемента

<b>Progress</b>
для отображения хода операции выгрузки или загрузки, выполняемой объектом
<b>XMLHttpRequest</b>
, в это свойство можно записать общее количество байтов, которые требуется передать. Данное свойство соответствует HTML-атрибуту
<b>max</b>
. По умолчанию имеет значение 1.0.

<b>readonly double position</b>

Если элемент

<b>Progress</b>
находится в определенном состоянии, данное свойство содержит значение выражения value/max. Иначе оно будет иметь значение -1.

<b>double value</b>

Значение между 0 и max, определяющее уже выполненный объем работы. Это свойство соответствует HTML-атрибуту

<b>value</b>
. Если этот атрибут определен, элемент
<b>Progress</b>
находится в определенном состоянии. Если он отсутствует, элемент
<b>Progress</b>
находится в неопределенном состоянии. Чтобы переключиться из определенного в неопределенное состояние (например, потому что проигрыватель
<b>MediaElement</b>
получил событие «stalled») можно воспользоваться методом
<b>removeAttribute()</b>
интерфейса
<b>Element</b>
.

ProgressEvent

событие продолжения загрузки, выгрузки или чтения файла (Event)

Все объекты -

ApplicationCache, FineReader
и
<b>XMLHttpRequest</b>
(версия 2) - возбуждают события, чтобы известить приложение о ходе выполнения операций передачи данных, таких как загрузка/выгрузка по сети или чтение файла. События этого рода известны как события хода выполнения операции, но только одно из них носит имя «progress». Другие события из этой категории, возбуждаемые объектами
<b>FineReader</b>
и
<b>XMLHttpRequest</b>
, - это события «loadstart», «load», «loadend», «error» и «abort».

Объект

<b>XMLHttpRequest</b>
также возбуждает событие «timeout». Объект
<b>ApplicationCache</b>
возбуждает несколько разных событий, имеющих отношение к ходу выполнения операции и описываемых здесь, но только одно из них носит имя «progress». Эти события возбуждаются в последовательности, которая начинается с события «loadstart» и всегда заканчивается событием «loadend». Непосредственно событию «loadend» предшествует событие «load», «error» или «abort», в зависимости от успеха выполнения операции. Между начальным «loadstart» и двумя заключительными событиями возбуждается ноль или более событий (с названием «progress»). (Объект
<b>ApplicationCache</b>
генерирует иную последовательность событий, но и он возбуждает событие «progress» в ходе обновления кэша, которое также относится к категории событий хода выполнения операции.)

Обработчтки событий хода выполнения операции получают объект

<b>ProgressEvent</b>
, который определяет количество переданных байтов данных. Объект
<b>ProgressEvent</b>
никак не связан с HTML-элементом
<b>&lt;progress&gt;</b>
, описанным в справочной статье
<b>Progress</b>
, но обект
<b>ProgressEvent</b>
, передаваемый (например) обработчику
<b>onprogress</b>
объекта
<b>XMLHttpRequest</b>
, можно было бы использовать для обновления состояния элемента
<b>&lt;progress&gt;</b>
, обеспечивающего визуальное представление хода выполнения операции загрузки.

Свойства

<b>readonly boolean lengthComputable</b>

Имеет значение true, если известно общее количество байтов, предназначенных для передачи, и false - в противном случае. Если это свойство имеет значение true, процент выполнения операции для объекта

<b>е</b>
типа
<b>ProgressEvent</b>
можно вычислить как: