В чем смысл Content-Script-Type и Content-Style-Type - PullRequest
5 голосов
/ 07 июня 2011

Рассмотрим эти две строки:

<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />

Из документации W3 по Сценарии , в разделе Язык сценариев по умолчанию :

Авторы должны указать язык сценариев по умолчанию для всех сценариев в документе, включив следующую декларацию META в HEAD

И все же это продолжается в Локальное объявление языка сценариев , говорящее:

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

Мне кажется, здесь есть завышенная спецификация. Почему оба meta и per- script объявления типа требуются? Какой смысл обязательного значения по умолчанию, если мы все равно «должны» объявить каждый тег отдельно?

Либо пусть значение по умолчанию будет значением по умолчанию, либо просто заявите, что каждому тегу нужен свой собственный тип - или эта формулировка меня просто сбивает с толку? Этот же язык используется и для таблиц стилей .

1 Ответ

4 голосов
/ 12 июня 2011

Элементы <script> и <style> являются лишь одним из способов добавления сценариев и стилей в HTML.

Для сценариев у нас есть атрибуты обработчика событий, для стиля HTML 4.01 определены элемент <link>, HTTP-заголовок Link: и атрибут "style". В каждом из этих случаев указание языка не является обязательным, поэтому запасным вариантом могут быть значения Content-Script-Type и Content-Style-Type.

Например: в разделе сценариев написано:

Документы, в которых не указано значение по умолчанию информация о языке сценариев и которые содержат элементы, которые определяют Сценарий внутреннего события неверен. Пользовательские агенты могут по-прежнему пытаться интерпретировать неправильно указано сценарии, но не обязательны для. Авторские инструменты должны генерировать информация о языке сценариев по умолчанию чтобы помочь авторам избежать создания неверные документы.

и секция стилей имеет эквивалентное утверждение:

Документы, содержащие элементы, которые установить атрибут стиля, но который не определять таблицу стилей по умолчанию язык неверен. авторинг инструменты должны генерировать стиль по умолчанию информация о языке листа (обычно декларация META), чтобы пользователь агенты не должны полагаться на по умолчанию "text / css".

Обратите внимание, что эти требования не могут быть выражены DTD, поэтому валидаторы, использующие DTD, не будут отмечать нарушения как ошибки.

Независимо от того, обращает ли какой-либо браузер внимание на настройки, я понятия не имею.

...