HTML脚本标签:类型或语言(或省略两者)?

<script type="text/javascript"> /* ... */ </script> 

 <script language="Javascript"> /* ... */ </script> 

应该使用哪一个,为什么?

(编辑)或者,第三种选择:省略其中的任何一个,例如jQuery的API参考中的示例代码:

 <script src="jquery-latest.js"></script> 

language属性已被弃用很长一段时间,不应该被使用。

当W3C使用HTML5时,他们发现所有浏览器都有“text / javascript”作为默认的脚本type ,所以他们将其标准化为默认值 。 因此,你也不需要type

对于XHTML 1.0或HTML 4.01中的页面,省略type被认为是无效的。 尝试验证以下内容:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script src="http://example.com/test.js"></script> </head> <body/> </html> 

您将被通知以下错误:

第4行,第41列:未指定必需属性“type”

所以如果你是一个标准的粉丝,使用它。 它应该没有实际效果,但是如果有疑问的话,也可以按规格行事。

HTML4 / XHTML1要求

 <script type="...">...</script> 

HTML5面临的事实是,网上只有一种脚本语言,并允许

 <script>...</script> 

后者可以在任何支持脚本的浏览器(NN2 +)中使用。

type属性用于定义HTML文档中的MIME类型。 根据您使用的DOCTYPE,需要输入值才能验证HTML文档。

语言属性让浏览器知道你正在使用什么语言(Javascript vs VBScript),但不一定非常重要,而且IIRC已被弃用。