【问题标题】:HTML Script tag: type or language (or omit both)?HTML 脚本标签:类型或语言(或两者都省略)?
【发布时间】:2011-01-17 01:42:15
【问题描述】:
<script type="text/javascript">
    /* ... */
</script>

对比

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

应该使用哪个以及为什么?

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

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

【问题讨论】:

    标签: javascript html


    【解决方案1】:

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

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

    【讨论】:

    【解决方案2】:

    HTML4/XHTML1 要求

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

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

    <script>...</script>
    

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

    【讨论】:

    • HTML5 仍然支持网络上的“其他脚本语言”。但如果没有明确定义类型,则默认类型为 text/javascript
    • 当然。我的观点是 HTML4/XHTML1 出于理论上的纯洁性原因不想将 JavaScript 设为默认值,而 HTML5 进行了更明智的权衡。
    • 还有哪些其他的网络脚本语言?
    • @FakeHeal:当 IE 占据主导地位时,VBScript 在客户端看到了一些用途。最近,您可以通过客户端编译向客户端提供诸如 CoffeeScript 之类的 compile-to-JavaScript 语言。半标准的 WebGL 实践是将片段着色器放入带有类型着色器语言的脚本标签中。最后,有人怀疑(?)Dart 可能会在某个时候在 Chrome 中得到原生支持。 (我的意思是,当然,对吧?)
    【解决方案3】:

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

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

    【讨论】:

    • MIME 类型已指示语言。语言属性是多余的。
    猜你喜欢
    • 2011-02-21
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 2018-09-14
    • 2016-09-22
    • 2014-10-19
    相关资源
    最近更新 更多