<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><base></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, если такого узла нет.