Подтвердить что ты не робот

Закрыть HTML Script Тег

Мне просто интересно, почему мой JavaScript не может работать (протестирован в Firefox и IE), если я пишу тег <script> следующим образом:

<script type="text/javascript" src="script.js"/>

Он будет работать, если я изменю эту строку на:

<script type="text/javascript" src="script.js"></script>

Итак, мой вопрос: почему я не могу закрыть тег script в стартовом теге, так как у меня нет содержимого внутри него.

Мой код JavaScript прост, просто:

alert("test");

Примечания. Я проверяю консоль ошибок firefox и никаких ошибок.

4b9b3361

Ответ 1

Концепция самозакрывающихся тегов представляет собой концепцию XML. Вы не можете использовать их в HTML. (Вы можете использовать их в XHTML, но только в том случае, если документ обслуживается типом содержимого XML, no t, если он используется как text/html).

В HTML некоторые элементы (например, <img>) не могут иметь никакого содержимого, поэтому у них нет конечных тегов).

Так как script может содержать атрибут src или script внутри элемента, <script> не является одним из них.

(HTML 5 позволяет символу / появляться в конце стартового тега для элемента, который определен как ПУСТОЙ, но это просто сахар для людей, зависимых от XML и не имеющих никакого смысла в языке).

Ответ 2

возможно, вы используете HTML 5 doctype, используйте html 4 doctype для этого