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>
Я могу проверить, что происходит в разных браузерах, но хотелось бы знать, что такое официальное поведение.
Ответы
Ответ 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.