What can I say? I see nothing on the stack to indicate EMF is involved
in the problem.
Источник
Ошибка Chrome с исключением NO_MODIFICATION_ALLOWED_ERR DOM 7
У меня есть код ниже для вставки стиля в DOM (есть вариант использования для внедрения стиля в DOM, поэтому, пожалуйста, не спрашивайте, зачем и не говорите, что нужно загрузить css в файл .css).
Если я запускаю Firefox, он работает нормально. Но я получил эту ошибку в Google Chrome:
Есть у кого-нибудь исправление? Спасибо
задан 26 марта ’10, 04:03
Похоже, моя проблема описана здесь code.google.com/p/chromium/issues/detail?id=3976#makechanges так что мне интересно, «есть ли способ обойтись?» Спасибо — HP.
6 ответы
Я думаю, это потому, что вы используете innerHTML когда везде вы используете синтаксис XML. Пытаться:
Это также может быть связано с тем, что вы пытаетесь установить innerHTML элемента, которого еще нет в HTML DOM. Если это так, мое первое предложение все еще должно остаться в силе, или вы можете пойти с:
Я не уверен, понадобится ли вам промежуточная строка, чтобы вернуть элемент, или если стиль bm по-прежнему будет указывать на него.
ответ дан 26 мар ’10, в 08:03
Я должен упомянуть, что, поскольку DOM в данном случае является HTML DOM, это не имеет значения. Но Chrome может раздражать, если вы не настраиваете переменную DOM Element явно как HTML. — Энтони
Я использовал ваше предложение 2, но ошибка все еще есть. Я использовал предложение 1 с nodeValue, в нем нет ошибки, но в теге стиля нет ничего (кстати, я исправил, чтобы добавить> в конце). Должен ли я вместо этого вставить заголовок и как? — HP.
Спасибо за это! Очень полезно — Сеника Гонсалес
Когда я использую его, консоль gimme: HierarchyRequestError, есть идея? . браузер — это IE — Кристина Карраско
Просто примечание для справок в будущем . Я использую следующую функцию для динамического создания стилей CSS. Я обнаружил, что использование textContent работает лучше всего.
Это ломается в Safari
Это ломается в FireFox
Ниже приведен мой последний код, который работает в обоих браузерах. IE не проверял .
Источник
Adblock
detector
The DOMException
interface represents an abnormal event (called an exception) that occurs as a result of calling a method or accessing a property of a web API. This is how error conditions are described in web APIs.
Each exception has a name, which is a short «PascalCase»-style string identifying the error or abnormal condition.
DOMException
is a Serializable object, so it can be cloned with structuredClone()
or copied between Workers using postMessage()
.
Constructor
DOMException()
-
Returns a
DOMException
object with a specified message and name.
Instance properties
DOMException.code
Deprecated
Read only-
Returns one of the legacy error code constants, or
0
if none match. DOMException.message
Read only-
Returns a string representing a message or description associated with the given error name.
DOMException.name
Read only-
Returns a string that contains one of the strings associated with an error name.
Error names
Common error names are listed here. Some APIs define their own sets of names, so this is not necessarily a complete list.
Note that the following deprecated historical errors don’t have an error name but instead have only a legacy constant code value and a legacy constant name:
- Legacy code value:
2
, legacy constant name:DOMSTRING_SIZE_ERR
- Legacy code value:
6
, legacy constant name:NO_DATA_ALLOWED_ERR
- Legacy code value:
16
, legacy constant name:VALIDATION_ERR
Note: Because historically the errors were identified by a numeric value that corresponded with a named variable defined to have that value, some of the entries below indicate the legacy code value and constant name that were used in the past.
IndexSizeError
-
The index is not in the allowed range. For example, this can be thrown by the
Range
object. (Legacy code value:1
and legacy constant name:INDEX_SIZE_ERR
) HierarchyRequestError
-
The node tree hierarchy is not correct. (Legacy code value:
3
and legacy constant name:HIERARCHY_REQUEST_ERR
) WrongDocumentError
-
The object is in the wrong
Document
. (Legacy code value:4
and legacy constant name:WRONG_DOCUMENT_ERR
) InvalidCharacterError
-
The string contains invalid characters. (Legacy code value:
5
and legacy constant name:INVALID_CHARACTER_ERR
) NoModificationAllowedError
-
The object cannot be modified. (Legacy code value:
7
and legacy constant name:NO_MODIFICATION_ALLOWED_ERR
) NotFoundError
-
The object cannot be found here. (Legacy code value:
8
and legacy constant name:NOT_FOUND_ERR
) NotSupportedError
-
The operation is not supported. (Legacy code value:
9
and legacy constant name:NOT_SUPPORTED_ERR
) InvalidStateError
-
The object is in an invalid state. (Legacy code value:
11
and legacy constant name:INVALID_STATE_ERR
) InUseAttributeError
-
The attribute is in use. (Legacy code value:
10
and legacy constant name:INUSE_ATTRIBUTE_ERR
) SyntaxError
-
The string did not match the expected pattern. (Legacy code value:
12
and legacy constant name:SYNTAX_ERR
) InvalidModificationError
-
The object cannot be modified in this way. (Legacy code value:
13
and legacy constant name:INVALID_MODIFICATION_ERR
) NamespaceError
-
The operation is not allowed by Namespaces in XML. (Legacy code value:
14
and legacy constant name:NAMESPACE_ERR
) InvalidAccessError
-
The object does not support the operation or argument. (Legacy code value:
15
and legacy constant name:INVALID_ACCESS_ERR
) TypeMismatchError
Deprecated
-
The type of the object does not match the expected type. (Legacy code value:
17
and legacy constant name:TYPE_MISMATCH_ERR
) This value is deprecated; the JavaScriptTypeError
exception is now raised instead of aDOMException
with this value. SecurityError
-
The operation is insecure. (Legacy code value:
18
and legacy constant name:SECURITY_ERR
) NetworkError
Experimental
-
A network error occurred. (Legacy code value:
19
and legacy constant name:NETWORK_ERR
) AbortError
Experimental
-
The operation was aborted. (Legacy code value:
20
and legacy constant name:ABORT_ERR
) URLMismatchError
Experimental
-
The given URL does not match another URL. (Legacy code value:
21
and legacy constant name:URL_MISMATCH_ERR
) QuotaExceededError
Experimental
-
The quota has been exceeded. (Legacy code value:
22
and legacy constant name:QUOTA_EXCEEDED_ERR
) TimeoutError
-
The operation timed out. (Legacy code value:
23
and legacy constant name:TIMEOUT_ERR
) InvalidNodeTypeError
Experimental
-
The node is incorrect or has an incorrect ancestor for this operation. (Legacy code value:
24
and legacy constant name:INVALID_NODE_TYPE_ERR
) DataCloneError
Experimental
-
The object can not be cloned. (Legacy code value:
25
and legacy constant name:DATA_CLONE_ERR
) EncodingError
Experimental
-
The encoding or decoding operation failed (No legacy code value and constant name).
NotReadableError
Experimental
-
The input/output read operation failed (No legacy code value and constant name).
UnknownError
Experimental
-
The operation failed for an unknown transient reason (e.g. out of memory) (No legacy code value and constant name).
ConstraintError
Experimental
-
A mutation operation in a transaction failed because a constraint was not satisfied (No legacy code value and constant name).
DataError
Experimental
-
Provided data is inadequate (No legacy code value and constant name).
TransactionInactiveError
Experimental
-
A request was placed against a transaction that is currently not active or is finished (No legacy code value and constant name).
ReadOnlyError
Experimental
-
The mutating operation was attempted in a «readonly» transaction (No legacy code value and constant name).
VersionError
Experimental
-
An attempt was made to open a database using a lower version than the existing version (No legacy code value and constant name).
OperationError
Experimental
-
The operation failed for an operation-specific reason (No legacy code value and constant name).
NotAllowedError
-
The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission (No legacy code value and constant name).
Specifications
Specification |
---|
Web IDL Standard # idl-DOMException |
Browser compatibility
BCD tables only load in the browser
See also
DOMException представляет ненормальное событие, происходящее при использовании метода или свойства.
свойства
В приведенной ниже таблице перечислены свойства объекта DOMException
S.No. | Описание недвижимости |
---|---|
1 |
название Возвращает DOMString, которая содержит одну из строк, связанных с константой ошибки (как показано в таблице ниже). |
название
Возвращает DOMString, которая содержит одну из строк, связанных с константой ошибки (как показано в таблице ниже).
Типы ошибок
S.No. | Тип и описание |
---|---|
1 |
IndexSizeError Индекс не находится в допустимом диапазоне. Например, это может быть брошено объектом Range. (Значение старого кода: 1 и имя постоянной константы: INDEX_SIZE_ERR) |
2 |
HierarchyRequestError Неверная иерархия дерева узлов. (Значение старого кода: 3 и имя постоянной константы: HIERARCHY_REQUEST_ERR) |
3 |
WrongDocumentError Объект находится в неправильном документе. (Значение старого кода: 4 и имя постоянной константы: WRONG_DOCUMENT_ERR) |
4 |
InvalidCharacterError Строка содержит недопустимые символы. (Значение старого кода: 5 и имя постоянной константы: INVALID_CHARACTER_ERR) |
5 |
NoModificationAllowedError Объект не может быть изменен. (Значение старого кода: 7 и имя постоянной константы: NO_MODIFICATION_ALLOWED_ERR) |
6 |
NotFoundError Объект не может быть найден здесь. (Значение старого кода: 8 и имя постоянной константы: NOT_FOUND_ERR) |
7 |
NotSupportedError Операция не поддерживается. (Значение старого кода: 9 и имя постоянной константы: NOT_SUPPORTED_ERR) |
8 |
InvalidStateError Объект находится в недопустимом состоянии. (Значение старого кода: 11 и имя постоянной константы: INVALID_STATE_ERR) |
9 |
Ошибка синтаксиса Строка не соответствует ожидаемому шаблону. (Значение старого кода: 12 и имя постоянной константы: SYNTAX_ERR) |
10 |
InvalidModificationError Объект не может быть изменен таким образом. (Значение старого кода: 13 и имя постоянной константы: INVALID_MODIFICATION_ERR) |
11 |
NamespaceError Операция не разрешена пространствами имен в XML. (Значение старого кода: 14 и имя постоянной константы: NAMESPACE_ERR) |
12 |
InvalidAccessError Объект не поддерживает операцию или аргумент. (Значение старого кода: 15 и имя постоянной константы: INVALID_ACCESS_ERR) |
13 |
TypeMismatchError Тип объекта не соответствует ожидаемому типу. (Значение устаревшего кода: 17 и имя постоянной константы: TYPE_MISMATCH_ERR) Это значение устарело, исключение JavaScript TypeError теперь вызывается вместо исключения DOMException с этим значением. |
14 |
SecurityError Операция небезопасна. (Значение старого кода: 18 и имя постоянной константы: SECURITY_ERR) |
15 |
Ошибка сети Произошла ошибка сети. (Значение старого кода: 19 и имя постоянной константы: NETWORK_ERR) |
16 |
AbortError Операция была прервана. (Значение старого кода: 20 и имя постоянной константы: ABORT_ERR) |
17 |
URLMismatchError Данный URL не соответствует другому URL. (Значение старого кода: 21 и имя постоянной константы: URL_MISMATCH_ERR) |
18 |
QuotaExceededError Квота была превышена. (Значение старого кода: 22 и имя постоянной константы: QUOTA_EXCEEDED_ERR) |
19 |
TimeoutError Время операции вышло. (Значение старого кода: 23 и имя постоянной константы: TIMEOUT_ERR) |
20 |
InvalidNodeTypeError Узел неверен или имеет неверного предка для этой операции. (Значение старого кода: 24 и имя постоянной константы: INVALID_NODE_TYPE_ERR) |
21 |
DataCloneError Объект не может быть клонирован. (Значение старого кода: 25 и имя постоянной константы: DATA_CLONE_ERR) |
22 |
EncodingError Операция кодирования, будучи кодирующей или декодирующей, завершилась неудачно (без устаревшего значения кода и имени константы). |
23 |
NotReadableError Операция чтения ввода / вывода завершилась неудачно (без устаревшего значения кода и имени константы). |
IndexSizeError
Индекс не находится в допустимом диапазоне. Например, это может быть брошено объектом Range. (Значение старого кода: 1 и имя постоянной константы: INDEX_SIZE_ERR)
HierarchyRequestError
Неверная иерархия дерева узлов. (Значение старого кода: 3 и имя постоянной константы: HIERARCHY_REQUEST_ERR)
WrongDocumentError
Объект находится в неправильном документе. (Значение старого кода: 4 и имя постоянной константы: WRONG_DOCUMENT_ERR)
InvalidCharacterError
Строка содержит недопустимые символы. (Значение старого кода: 5 и имя постоянной константы: INVALID_CHARACTER_ERR)
NoModificationAllowedError
Объект не может быть изменен. (Значение старого кода: 7 и имя постоянной константы: NO_MODIFICATION_ALLOWED_ERR)
NotFoundError
Объект не может быть найден здесь. (Значение старого кода: 8 и имя постоянной константы: NOT_FOUND_ERR)
NotSupportedError
Операция не поддерживается. (Значение старого кода: 9 и имя постоянной константы: NOT_SUPPORTED_ERR)
InvalidStateError
Объект находится в недопустимом состоянии. (Значение старого кода: 11 и имя постоянной константы: INVALID_STATE_ERR)
Ошибка синтаксиса
Строка не соответствует ожидаемому шаблону. (Значение старого кода: 12 и имя постоянной константы: SYNTAX_ERR)
InvalidModificationError
Объект не может быть изменен таким образом. (Значение старого кода: 13 и имя постоянной константы: INVALID_MODIFICATION_ERR)
NamespaceError
Операция не разрешена пространствами имен в XML. (Значение старого кода: 14 и имя постоянной константы: NAMESPACE_ERR)
InvalidAccessError
Объект не поддерживает операцию или аргумент. (Значение старого кода: 15 и имя постоянной константы: INVALID_ACCESS_ERR)
TypeMismatchError
Тип объекта не соответствует ожидаемому типу. (Значение устаревшего кода: 17 и имя постоянной константы: TYPE_MISMATCH_ERR) Это значение устарело, исключение JavaScript TypeError теперь вызывается вместо исключения DOMException с этим значением.
SecurityError
Операция небезопасна. (Значение старого кода: 18 и имя постоянной константы: SECURITY_ERR)
Ошибка сети
Произошла ошибка сети. (Значение старого кода: 19 и имя постоянной константы: NETWORK_ERR)
AbortError
Операция была прервана. (Значение старого кода: 20 и имя постоянной константы: ABORT_ERR)
URLMismatchError
Данный URL не соответствует другому URL. (Значение старого кода: 21 и имя постоянной константы: URL_MISMATCH_ERR)
QuotaExceededError
Квота была превышена. (Значение старого кода: 22 и имя постоянной константы: QUOTA_EXCEEDED_ERR)
TimeoutError
Время операции вышло. (Значение старого кода: 23 и имя постоянной константы: TIMEOUT_ERR)
InvalidNodeTypeError
Узел неверен или имеет неверного предка для этой операции. (Значение старого кода: 24 и имя постоянной константы: INVALID_NODE_TYPE_ERR)
DataCloneError
Объект не может быть клонирован. (Значение старого кода: 25 и имя постоянной константы: DATA_CLONE_ERR)
EncodingError
Операция кодирования, будучи кодирующей или декодирующей, завершилась неудачно (без устаревшего значения кода и имени константы).
NotReadableError
Операция чтения ввода / вывода завершилась неудачно (без устаревшего значения кода и имени константы).
пример
Следующий пример демонстрирует, как использование неправильно сформированного XML-документа вызывает исключение DOMException.
Содержание error.xml приведено ниже:
<?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?> <Company id = "companyid"> <Employee category = "Technical" id = "firstelement" type = "text/html"> <FirstName>Tanmay</first> <LastName>Patil</LastName> <ContactNo>1234567890</ContactNo> <Email>tanmaypatil@xyz.com</Email> </Employee> </Company>
Следующий пример демонстрирует использование атрибута name –
<html> <head> <script> function loadXMLDoc(filename) { if (window.XMLHttpRequest) { xhttp = new XMLHttpRequest(); } else // code for IE5 and IE6 { xhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",filename,false); xhttp.send(); return xhttp.responseXML; } </script> </head> <body> <script> try { xmlDoc = loadXMLDoc("/dom/error.xml"); var node = xmlDoc.getElementsByTagName("to").item(0); var refnode = node.nextSibling; var newnode = xmlDoc.createTextNode('That is why you fail.'); node.insertBefore(newnode, refnode); } catch(err) { document.write(err.name); } </script> </body> </html>
выполнение
Сохраните этот файл как Domexcption_name.html на пути к серверу (этот файл и error.xml должны находиться на одном и том же пути на вашем сервере). Мы получим вывод, как показано ниже –