考虑以下两行:
<Meta http-equiv="Content-Script-Type" content="text/javascript" />
<Meta http-equiv="Content-Style-Type" content="text/css" />
从Scripting的W3文档,在The default scripting language部分:
Authors should specify the default scripting language for all scripts in a document by including the following Meta declaration in the HEAD
然而它在Local declaration of a scripting language继续说:
The type attribute must be specified for each SCRIPT element instance in a document. The value of the type attribute for a SCRIPT element overrides the default scripting language for that element.
在我看来,这里有一个过度规范.为什么需要Meta和per-script类型声明?如果我们“必须”单独声明每个标签,那么强制性默认的重点是什么?
让默认值为默认值,或者只是声明每个标签需要它自己的类型 – 或者这里的措辞只是让我绊倒?参考style sheets也使用相同的语言.
对于脚本,我们有事件处理程序属性,为样式HTML 4.01定义< link> element,Link:HTTP标头和“style”属性.在每种情况下,都没有强制指定语言,因此后退将是Content-Script-Type和Content-Style-Type的值.
例如:脚本部分说:
Documents that do not specify default
scripting language information and
that contain elements that specify an
intrinsic event script are incorrect.
User agents may still attempt to
interpret incorrectly specified
scripts but are not required to.
Authoring tools should generate
default scripting language information
to help authors avoid creating
incorrect documents.
和造型部分有一个等同的声明:
Documents that include elements that
set the style attribute but which
don’t define a default style sheet
language are incorrect. Authoring
tools should generate default style
sheet language information (typically
a Meta declaration) so that user
agents do not have to rely on a
default of “text/css”.
请注意,这些要求不是DTD可表达的,因此依赖于DTD的验证器不会将违规标记为错误.
是否有任何浏览器实际关注设置,我不知道.