2010-09-08 39 views
6

我听说(来自Crockford)LINK和SCRIPT元素上的哪些类型属性在这些元素用于加载外部资源时是多余的。 (由于HTTP响应确定内容类型的资源的。)HTML中的SCRIPT和STYLE元素的type属性?

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

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

但对于当非HTML代码被内联放置的样式和SCRIPT元件内部的情况?

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

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

是否在这些情况下设置了type属性? 当我们选择省略type属性时,是否有任何问题?

+0

更多答案:http://stackoverflow.com/questions/7715953/do-we-need-type-text-css-for-link-in-html5/7716130#7716130 – 2012-12-19 10:45:58

回答

10

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

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

据我所知,在其缺席的情况下,所有浏览器的默认回退分别为text/javascripttext/css。这是普遍的(虽然无效)做法不使用类型属性。我仍然会指定它以避免浏览器问题。

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