Атрибут типа элементов SCRIPT и STYLE в HTML? - PullRequest
6 голосов
/ 08 сентября 2010

Я слышал (от Крокфорда), что атрибуты типа в элементах LINK и SCRIPT излишни, когда эти элементы используются для загрузки внешних ресурсов.(Поскольку HTTP-ответ определяет тип содержимого ресурса.)

<link rel="Stylesheet" href="foo.css">

<script src="foo.js"></script>

Но как насчет случая, когда не-HTML-код встроен внутри элементов STYLE и SCRIPT?

<style>
    /* inline CSS rules */
</style>

<script>
    // inline JavaScript code
</script>

Рекомендуется ли устанавливать атрибут типа в этих случаях?Есть ли какие-либо проблемы, когда мы решаем опустить атрибут type?

1 Ответ

10 голосов
/ 01 ноября 2010

Для HTML 4 ответ прост: атрибут type необходим для <script> и <style>.

Авторы должны предоставить значение для этого атрибута;для этого атрибута нет значения по умолчанию.

Насколько я знаю, для всех браузеров в случае его отсутствия откат по умолчанию - text/javascript и text/css соответственно.Это распространенная (хотя и недопустимая) практика - не использовать атрибут type.Я бы все же указал это, чтобы избежать проблем с браузером.

HTML 5 принимает реальность и объявляет эти значения в качестве официальных значений по умолчанию для <style> и <script>.Я почти уверен, что это позволяет оставить их для встроенного контента, который будет автоматически анализироваться с использованием правильного типа контента.

...