<script type="text/javascript">
/* ... */
</script>
VS
<script language="Javascript">
/* ... */
</script>
应该使用哪种?为什么?
或者,第三种方法:省略其中任何一种,例如jQuery API参考中的示例代码:
<script src="http://code.jquery.com/jquery-latest.js"></script>
答案 0 :(得分:157)
language
属性已被弃用了很长时间,不应使用。
当W3C使用HTML5时,他们发现所有浏览器都将“text / javascript”作为默认脚本type
,因此they standardized it to be the default value。因此,您也不需要type
。
对于XHTML 1.0或HTML 4.01中的页面,省略type
被视为无效。请尝试validating以下内容:
<!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”
因此,如果您是标准的粉丝,请使用它。它应该没有实际效果,但是,如果有疑问,也可以按照规范进行。
答案 1 :(得分:38)
HTML4 / XHTML1需要
<script type="...">...</script>
HTML5面临的事实是网络上只有一种脚本语言,并允许
<script>...</script>
后者适用于任何支持脚本的浏览器(NN2 +)。
答案 2 :(得分:2)
类型属性用于定义HTML文档中的MIME类型。根据您使用的DOCTYPE,需要类型值才能验证HTML文档。
语言属性可让浏览器知道您使用的是哪种语言(Javascript与VBScript),但不一定是必不可少的,IIRC已被弃用。