Используя расширения объектной модели документа
WebKit обеспечивает расширения Объектной модели документа (DOM), обеспечивающие дополнительную функциональность, не указанную рекомендациями W3C. Расширения DOM являются частью Objective C DOM API, но не являются частью W3C спецификация DOM (и не реализованные в JavaScript).
Расширения в настоящее время обеспечивают дополнения к DOMHTMLElement
, DOMDocument
, и DOMRGBColor
. Дополнительное DOMHTMLElement
подкласс, DOMHTMLEmbedElement
, обеспечивает Objective C класс DOM для HTML embed
элементы.
Среди полезных функций расширений внутренний/внешний HTML и текстовые методы доступа. Учитывая блок элемента HTML (a DOMHTMLElement
), можно динамично получить и установить HTML и текст от того блока с помощью этих методов: innerText
получает внутреннее содержание блока без его HTML-тэгов; innerHTML
получает внутреннее содержание блока (с его HTML-тэгами, но не его тегами включения); outerHTML
получает все содержание блока. Например, учитывая этот блок HTML:
<DIV id=”paras”> |
<P>Paragraph 1</P> |
<P>Paragraph 2</P> |
</DIV> |
innerHTML
метод возвратится (как NSString
):
<P>Paragraph 1</P> |
<P>Paragraph 2</P> |
innerText
метод возвратится (как NSString
):
Paragraph 1 |
Paragraph 2 |
И outerHTML
метод возвратится (как NSString
):
<DIV id=”paras”> |
<P>Paragraph 1</P> |
<P>Paragraph 2</P> |
</DIV> |
Каждый из тех методов имеет соответствующий метод установки (setInnerHTML
, setInnerText
, setOuterHTML
) и может использоваться на любом броске элемента в качестве a DOMHTMLElement
или любой подкласс его.
Дополнение к DOMRGBColor
интерфейс также очень полезен, поскольку он позволяет Вам использовать DOM для доступа к альфа-каналу Уровня 3 CSS RGB (A) цвет, даже при том, что спецификация Уровня 2 DOM не включает его.
Для полного списка расширений, предоставленных Objective C DOM API, посмотрите DOMExtensions.h
заголовочный файл.