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

JavaScript: встроенный Script с атрибутом SRC?

Я привык включать и использовать JS так:

<script type='text/javascript' src='/path/to/script.js'></script>
....
<script type='text/javascript'>
    alert('Do some stuff here, using resources defined in script.js.');
</script>

Просто из любопытства кто-нибудь знает правило наличия встроенного script с атрибутом src, например:

<script type='text/javascript' src='/path/to/script.js'>
    alert('Do some stuff here, using resources defined in script.js.');
</script>

Я могу проверить, что происходит в разных браузерах, но хотелось бы знать, что такое официальное поведение.

4b9b3361

Ответ 1

Он либо один, либо другой, а не оба. Атрибут src тега <script> имеет приоритет над телом тега.

Спецификация HTML 4.01:

script может быть определен в пределах содержимое элемента script или в внешний файл. Если атрибут srcне задано, пользовательские агенты должны интерпретировать содержимое элемента как script. Если значение src имеет значение URI, пользовательские агенты должны игнорировать элемент содержимого и получить script через URI.

Ответ 2

В спецификации HTML указано

Если значение src имеет значение URI, пользователь агенты должны игнорировать элемент содержимого и получить script через URI.

Ответ 3

Из стандарт HTML 4:

Если атрибут src не установлен, пользователь агенты должны интерпретировать содержание элемент как script. Если src имеет значение URI, пользовательские агенты должны игнорировать содержимое элемента и извлеките script через URI.