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

IT技术 javascript html
2021-02-05 16:08:41
<script type="text/javascript">
    /* ... */
</script>

对比

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

应该使用哪个,为什么?

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

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

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 列:未指定必需的属性“类型”

因此,如果您喜欢标准,请使用它。它应该没有实际效果,但是,如果有疑问,也可以按照规范进行。

如果您使用的是 HTML5 并且脚本是 JavaScript,type则完全不需要指定,因为text/javascript 是默认的.
2021-03-29 16:08:41

HTML4/XHTML1 需要

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

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

<script>...</script>

后者适用于任何支持脚本 (NN2+) 的浏览器。

当然。我的观点是 HTML4/XHTML1 不想将 JavaScript 设为默认值,因为理论上的纯度原因,而 HTML5 则进行了更明智的权衡。
2021-03-13 16:08:41
Web 的其他脚本语言是什么?
2021-03-16 16:08:41
@FakeHeal:当 IE 占据主导地位时,VBScript 在客户端看到了一些用处。最近,您可以通过客户端编译向客户端提供像 CoffeeScript 这样的 compile-to-JavaScript 语言。半标准的 WebGL 实践是将片段着色器放入具有类型着色器语言的脚本标签中。最后,有人怀疑(?)Dart 可能在某些时候在 Chrome 中得到本机支持。(我的意思是,当然,对吗?)
2021-03-16 16:08:41
HTML5 仍然支持网络上的“其他脚本语言”,但text/javascript如果没有明确定义类型,默认类型为
2021-04-03 16:08:41

类型属性被用来定义在HTML文档中的MIME类型。根据您使用的 DOCTYPE,需要类型值才能验证 HTML 文档。

语言属性让浏览器知道您使用的是什么语言(Javascript 与 VBScript),但它不一定是必需的,而且 IIRC 已被弃用。

MIME 类型已指示语言。语言属性是多余的。
2021-03-14 16:08:41