Исключения: интерфейс DOMException
Объект DOMException является прототипом всех исключительных ситуаций, которые могут возникнуть в процессе обработки документа. Он имеет единственное свойство code типа Number, которое содержит номер исключения согласно следующей таблицы:
Таблица 4.2. Стандартные исключения DOMНазвание | Значение | Описание | Модель |
---|
INDEX_SIZE_ERR | 1 | Выход индекса за пределы допустимого диапазона. | DOM 1 | DOMSTRING_SIZE_ERR | 2 | Заданный текст не может быть приведен к типу DOMString. | DOM 1 | HIERARCHY_REQUEST_ERR | 3 | Попытка вставить узел в ненадлежащее место дерева. | DOM 1 | WRONG_DOCUMENT_ERR | 4 | Недопустимый тип документа. | DOM 1 | INVALID_CHARACTER_ERR | 5 | Встречен недопустимый символ. | DOM 1 | NO_DATA_ALLOWED_ERR | 6 | Узел не содержит данных. | DOM 1 | NO_MODIFICATION_ALLOWED_ERR | 7 | Попытка недопустимой модификации объекта. | DOM 1 | NOT_FOUND_ERR | 8 | Обращение к несуществующему узлу. | DOM 1 | NOT_SUPPORTED_ERR | 9 | Параметр или операция не реализованы. | DOM 1 | INUSE_ATTRIBUTE_ERR | 10 | Попытка добавления атрибута, который уже существует. | DOM 1 | INVALID_STATE_ERR | 11 | Обращение к несуществующему объекту. | DOM 1 | SYNTAX_ERR | 12 | Синтаксическая ошибка. | DOM 2 | INVALID_MODIFICATION_ERR | 13 | Попытка изменения типа объекта. | DOM 2 | NAMESPACE_ERR | 14 | Попытка создания или изменения объекта, не соответствующая пространству имен XML. | DOM 2 | INVALID_ACCESS_ERR | 15 | Параметр или операция не поддерживаются объектом. | DOM 2 |
Поддержка : | | Нестандартная реализация. | | | Поддерживается часть кодов ошибок. |
Описание реализации: интерфейс DOMImplementation
Поддержка : | | Только для XML-документов (XMLDOMImplementation). | | | Соответствует DOM 1. |
Интерфейс DOMImplementation содержит методы, выполнение которых не зависит от конкретной объектной модели документа. Он доступен через свойство implementation объекта Document.
Метод createCSSStyleSheet
Синтаксис: объект.createCSSStyleSheet(title, media) Аргументы: title, media - выражения типа DOMString Результат: новый объект CSSStyleSheet Исключения: SYNTAX_ERR
Поддержка : | | Не поддерживается. | | | Не поддерживается. |
Метод createCSSStyleSheet создает новый объект CSSStyleSheet и возвращает указатель на него. Этот метод должен поддерживаться только теми реализациями DOM, которые поддерживают CSS. Объект создается вне контекста документа; DOM 2 не позволяет поключить вновь созданную таблицу стилей к документу. Аргумент title задает титул таблицы стилей, а media - список устройств отображения через запятую.
Метод createDocument
Синтаксис: объект.createDocument(namespaceURI, qualifiedName, doctype) Аргументы: namespaceURI, qualifiedName - выражения типа DOMString doctype - выражение типа DocumentType Результат: новый объект Document Исключения: INVALID_CHARACTER_ERR, NAMESPACE_ERR, WRONG_DOCUMENT_ERR
Поддержка : | | Не поддерживается. | | | Не поддерживается. |
Метод createDocument создает новый объект Document и возвращает указатель на него. Он предназначен для создания XML-документов и для HTML-документов может не поддерживаться. Аргумент namespaceURI задает URI пространства имен корневого элемента документа, qualifiedName - его ограниченное имя, а doctype - тип создаваемого документа (может иметь значение null).
Метод createDocumentType
Синтаксис: объект.createDocumentType(qualifiedName, publicId, systemId)
Аргументы: qualifiedName, publicId, systemId - выражения типа DOMString Результат: новый узел DocumentType Исключения: INVALID_CHARACTER_ERR, NAMESPACE_ERR
Поддержка : | | Не поддерживается. | | | Не поддерживается. |
Метод createDocumentType создает пустой узел типа DocumentType и возвращает указатель на него. Он предназначен для XML-документов и для HTML-документов может не поддерживаться. Аргумент qualifiedName задает ограниченное имя создаваемого типа документа, publicId - публичный идентификатор внешнего раздела, а systemId - системный идентификатор внешнего раздела.
Метод hasFeature
Синтаксис: объект.hasFeature(feature, version) Аргументы: feature, version - выражения типа DOMString Результат: логическое значение Исключения: нет
Поддержка : | | Только для XML-документов. | | | Соответствует стандарту. |
Метод hasFeature возвращает true, если реализация DOM поддерживает указанное свойство, и false в противном случае. Имя свойства (в любом регистре) задается аргументом feature; оно должно соответствовать правилам образования имен XML. Аргумент version задает имя версии проверяемого свойства. Если он не задан, то возвращается true, если поддерживается хотя бы какая-то версия данного свойства.
DOM 2 рекомендует, чтобы реализации DOM возвращали true, если version равно "2.0", а feature принимает следующие значения:
Поддерживаются | feature |
---|
Базовые интерфейсы | "Core" | XML-документы | "XML" | HTML-документы | "HTML" | Таблицы стилей | "StyleSheets" | Модуль CSS | "CSS" | Модуль CSS2 | "CSS2" | Обработка событий | "Events" | События пользовательского интерфейса | "UIEvents" | События, генерируемые мышью | "MouseEvents" | События, генерируемые изменением содержимого | "MutationEvents" | События HTML | "HTMLEvents" | Модуль Views | "Views" | Модуль Range | "Range" | Модуль Traversal | "Traversal" |
В Gecko значениями feature могут быть строки "XML" и "HTML", а значением version - строки "1.0" и "2.0". Пример:
alert(document.implementation.hasFeature("HTML", "1.0")); alert(document.implementation.hasFeature("HTML", "2.0")); alert(document.implementation.hasFeature("HTML", "3.0"));
Первые два оператора alert выведут строку true, а третий false.
В Microsoft XMLDOM значениями feature могут быть строки "XML", "DOM" и "MS-DOM", а значением version - строка "1.0". Пример:
var objDoc = new ActiveXObject("Microsoft.XMLDOM"); alert(objDoc.implementation.hasFeature("XML", "1.0")); alert(objDoc.implementation.hasFeature("XML", "2.0"));
Первый оператор alert выведет строку true, а второй false.
Фрагмент документа: интерфейс DocumentFragment
Поддержка : | | Только для XML-документов (XMLDOMDocumentFragment). | | | Соответствует DOM 1. |
Интерфейс DocumentFragment является потомком интерфейса Node и наследует все его свойства и методы. Как и вытекает из его названия, он предназначен для операций с фрагментами документов (извлечение части дерева документа, создание нового фрагмента документа, вставка фрагмента в качестве сына какого-либо узла и т. п.). Отметим, что при вставке объекта типа DocumentFragment в узел Node, способный иметь детей, вставляются все дети этого объекта, но не сам объект. Примеры см. в описании интерфейса Node.
1 2 3 4
8 8 8
| |