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

时间:2010-02-15 16:48:01

标签: javascript html

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

VS

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

应该使用哪种?为什么?

或者,第三种方法:省略其中任何一种,例如jQuery API参考中的示例代码:

<script src="http://code.jquery.com/jquery-latest.js"></script>

3 个答案:

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