HTML中的SCRIPT和STYLE元素的type属性?

时间:2010-09-08 14:43:33

标签: html content-type

我听说(来自Crockford)当这些元素用于加载外部资源时,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属性? 当我们选择省略type属性时是否有任何问题?

1 个答案:

答案 0 :(得分:10)

对于HTML 4,答案很简单:<script><style>都需要type属性。

  

作者必须为此属性提供值;此属性没有默认值。

据我所知,所有浏览器缺席时的默认回退分别为text/javascripttext/css。不使用type属性的做法很普遍(尽管无效)。我仍然会指定它以避免浏览器问题。

HTML 5接受现实,并将这些值声明为<style><script>的官方默认值。我很确定这可以让他们关闭内联内容,这将自动使用正确的内容类型进行解析。