Существует распространенная проблема, с которой сталкиваются многие начинающие разработчики на 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
.
Добавить комментарий