是<script>标签所必需的'type'属性吗?

我见过这两个:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script> 

和这个:

 <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script> 

types属性是否以任何方式重要?

对于HTML 4.xtype属性是必需的 。 ( W3 ):

此属性指定元素内容的脚本语言并覆盖默认的脚本语言。 脚本语言被指定为内容types(例如“text / javascript”)。 作者必须为此属性提供一个值。 这个属性没有默认值。

对于HTML 5 ,它是可选的 。 如果没有指定,则默认为text/javascript 。 ( W3 ):

type属性给出脚本的语言或数据的格式。 如果该属性存在,则其值必须是有效的MIMEtypes。 charset参数不能被指定。 如果该属性不存在,则使用默认值“text / javascript”。

在HTML5中,您不需要type属性,但是在HTML <= 4和(X)HTML中,应该声明它

出于testing目的,它将工作无效,但W3C要求它正确validation。 HTML 5草案并没有要求这样做,但W3C仍然以草案的forms提出这个草案,他们不推荐这个草案。

任何重要的浏览器都可以parsing它。

不,标签中不需要'type'属性。 除非你想要你的代码validation。

我们在工作中已经放弃了多年,这从来都不是问题。 我们对多种设备,浏览器等进行了严格的testing,包括各种HTML4和XHTML文档types。

我在github上创build了这个小testing页面: http : //kenshub.github.io/script-type.html

根据W3C要求: http : //www.w3.org/TR/REC-html40/interact/scripts.html