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

<b>void registerProtocolHandler(string scheme, string url, string title)</b>

Действует подобно методу

<b>registerContentHandler(),</b>
но регистрирует веб-сайт для использования в качестве обработчика схемы протокола scheme, указанного в URL-адресе. Аргумент scheme должен быть строкой, такой как «mailto» или «sms» без двоеточия. Это новый метод, введенный спецификацией HTML5, и он может быть реализован не во всех броузерах.

<b>void yieldForStorageUpdates()</b>

Сценарии, использующие объекты

<b>Document.cookie</b>
,
<b>Window.localStorage</b>
и
<b>Window.sessionstorage</b>
(cm.
<b>Storage</b>
и главу 20), не имеют возможности определять, производятся ли изменения в хранилище параллельно выполняющимися в разных окнах сценариями (с тем же происхождением). Броузеры могут (хотя на момент написания этих строк такую возможность поддерживали не все броузеры) предотвратить параллельные изменения с помощью механизма блокировок, подобного тому, что используется в базах данных. В броузерах, поддерживающих такую возможность, этот метод неявно освобождает блокировку, предоставляя возможность сценариям в других окнах сохранить свои изменения. Значения, извлекаемые из хранилища после вызова этого метода, могут отличаться от тех, что извлекались перед его вызовом.

Node

Все объекты в дереве документа (включая сам объект

<b>Document</b>
) реализуют интерфейс
<b>Node</b>
, который предоставляет фундаментальные свойства и узлы для выполнения манипуляций с деревом. Свойство
<b>parentNode</b>
и массив
<b>childNodes[]</b>
позволяют передвигаться вверх и вниз по дереву документа. Можно перечислить дочерние узлы данного узла, выполнив цикл по элементам
<b>childNodes[]</b>
или используя свойства
<b>firstChild</b>
и
<b>nextSibling</b>
(или свойства
<b>lastChild</b>
и
<b>previousSibling</b>
для обхода в обратном порядке). Методы
<b>appendChild(), insertBefore(), removeChild()</b>
и
<b>replaceChild()</b>
позволяют модифицировать дерево документа, изменяя дочерние узлы данного узла.

Каждый объект в дереве документа реализует как интерфейс

<b>Node</b>
, так и более специализированный интерфейс, например,
<b>Element</b>
или
<b>Text</b>
. Свойство
<b>nodeType</b>
указывает, какой подынтерфейс реализует узел. Это свойство позволяет проверить тип узла перед тем, как использовать свойства и методы более специализированного интерфейса. Например:

<b>var n;</b>

<b>if (n.nodeType == 1) {</b>

<b>  // Содержит узел, с которым выполняются операции</b>

<b>  // Или использовать константу Node.ELEMENT_N0DE</b>

<b>  var tagname = n.tagName; // Если узел является узлом Element, это имя тега</b>

<b>}</b>

Константы

unsigned short ELEMENT_NODE = 1

unsigned short TEXT_N0DE = 3

unsigned short PROCESSING_INSTRUCTION_NODE = 7

unsigned short C0MMENT_N0DE = 8

unsigned short D0CUMENT.N0DE = 9

unsigned short DOCUMENT_TYPE_NODE = 10

unsigned short D0CUMENT_FRAGMENT_N0DE = 11

Эти константы определяют возможные значения свойства

<b>nodeType</b>
. Обратите внимание, что они являются статическими свойствами функции-конструктора
<b>Node()</b>
-они не являются свойствами отдельных объектов
<b>Node</b>
. Отметьте также, что они не определены в ІE версии 8 и ниже. Для совместимости в сценариях можно использовать числовые значения констант или определить собственные константы.

unsigned short D0CUMENT_P0SITI0N_DISC0NNECTED = 0x01

unsigned short D0CUMENT_P0SITI0N_PRECEDING = 0x02

unsigned short D0CUMENT_P0SITI0N_F0LL0WING = 0x04

unsigned short D0CUMENT_P0SITI0N_C0NTAINS = 0x08

unsigned short D0CUMENT_P0SITI0N_C0NTAINED_BY = 0x10

Эти константы определяют биты, которые могут быть установлены или сброшены в значении, возвращаемом методом

<b>compareDocumentPosition()</b>
.

Свойства

<b>readonly string baseURI</b>

Определяет базовый URL-адрес для данного объекта

<b>Node</b>
, который будет использоваться при разрешении относительных URL-адресов. Для всех узлов в HTML-документах этот URL-адрес определяется элементом
<b>&lt;base&gt;</b>
или свойством
<b>Document</b>
. URL, из значения которого исключается идентификатор фрагмента.

<b>readonly NodeList childNodes</b>

Это свойство является объектом, подобным массиву, содержащим дочерние узлы текущего узла. Это свойство никогда не должно иметь значение null: для узлов, не имеющих дочерних узлов,

<b>childNodes</b>
- это массив со свойством
<b>length</b>
, равным нулю. Обратите внимание: объект
<b>NodeList</b>
«живой», т. е. любое изменение в списке дочерних узлов элемента немедленно становится видимым через объект
<b>NodeList</b>
.

<b>readonly Node firstChild</b>

Первый дочерний узел этого узла или null, если узел не имеет дочерних узлов.

<b>readonly Node lastChild</b>

Последний дочерний узел этого узла или null, если узел не имеет дочерних узлов.

<b>readonly Node nextSibling</b>

Смежный узел, непосредственно следующий за данным узлом в массиве

<b>chiIdNodes[]</b>
узла
<b>parentNode</b>
, или null, если такого узла нет.