Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
06 Июл 2023
2 мин
182

Почему самозакрывающиеся теги script не работают?

Существует распространенная проблема, с которой сталкиваются многие начинающие разработчики на JavaScript. Они пытаются использовать самозакрывающийся

Существует распространенная проблема, с которой сталкиваются многие начинающие разработчики на JavaScript. Они пытаются использовать самозакрывающийся тег script, как показано ниже:

<script src="somefile.js" />

Однако этот код не работает должным образом, и браузеры на самом деле не распознают его. Вместо этого, разработчики должны использовать отдельные открывающие и закрывающие теги, как показано ниже:

<script src="somefile.js"></script>

Это может показаться странным, особенно учитывая, что многие другие теги в HTML могут быть самозакрывающимися. Так почему же это не работает для тега script?

Причина кроется в спецификациях HTML. В HTML, тег script определен как «элемент с открытием и закрытием тегами», что означает, что он должен всегда иметь отдельные открывающий и закрывающий теги. Это отличает его от некоторых других тегов, таких как img или input, которые определены как «пустые элементы» и могут быть самозакрывающимися.

Более того, в отличие от XHTML, где самозакрывающиеся теги являются общепринятыми, HTML не поддерживает их для всех тегов. Это связано с тем, что синтаксис HTML проще и менее строгий, чем синтаксис XHTML.

Таким образом, хотя использование самозакрывающегося тега script может выглядеть логичным и согласующимся с практиками XHTML, на самом деле это не совместимо со спецификациями HTML. Всегда следует использовать отдельные открывающие и закрывающие теги при работе с тегом script.

Добавить комментарий