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已被弃用。