Эта ошибка может возникать при случайном использовании стандартных имен функций JavaScript в качестве собственных имен функций, если вы не используете пространства имен. Например, у меня есть концепция под названием «Атрибут», и я хотел попробовать новую функцию, которая создала новую из них:
<button onclick="createAttribute('Pony')">Foo</button>
<button onclick="createAttribute('Magical pony')">Bar</button>
<script type="text/javascript">
function createAttribute(name) { alert(name); }
</script>
- Нажатие "Foo" ничего не дает
- Нажав на Foo, вы получите
INVALID_CHARACTER_ERR (5)
или InvalidCharacterError: DOM Exception
5
- Открытие консоли разработчика и запуск
createAttribute('Django')
дает вам предупреждение
Происходит следующее: кнопки вызывают document.createAttribute()
, а ваша консоль разработчика вызывает функцию, которую вы объявили.
Решение: использовать другое имя функции или, еще лучше, пространство имен.