2009-06-29 4 views
20

Я привык в том числе и с помощью JS, так как:JavaScript: встроенный скрипт с атрибутом SRC?

<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> 

Просто из любопытства, кто-нибудь знает правила для иметь встроенный скрипт с Src Attrib, как:

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

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

ответ

25

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

HTML 4.01 Specification:

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

+1

Погнал меня на 6 секунд! – harto

+3

Не понимал, что я мчался. :-) – artlung

+2

Вот ссылка на новую [спецификацию HTML5] (http://www.w3.org/TR/html5/scripting-1.html#inline-documentation-for-external-scripts) (см. Текст выше пример кода) – royhowie

4

Спецификация HTML утверждает

Если ЦСИ имеет значение URI, пользователь агенты должны игнорировать содержимое элемента и получить сценарий с помощью Ури.

3

Из HTML 4 standard:

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