【发布时间】:2011-02-27 03:38:46
【问题描述】:
有什么区别:
【问题讨论】:
标签: javascript
有什么区别:
【问题讨论】:
标签: javascript
第 2 位是您现在和可预见的未来所能做的最好的事情。
首先,language 属性在 HTML 4.01 specification 和 draft HTML 5 specification 中已弃用,并从 XHTML 1.0 Strict 中省略,因此选项 1 和 3 不可用。
其次,你需要一个类型属性吗?是的。 HTML 4.01 和 XHTML 1.0 根据需要指定 type 属性,而 HTML5 将其作为可选属性,默认为 text/javascript。因此,在 HTML5 最终确定并广泛实施之前,如果您希望 HTML 有效,则必须具有 type 属性,这排除了简单的 <script></script>(我知道这不是最初的选项之一,但它是我看过推荐的)。
第三,type属性应该放什么?正如 Matthew Flaschen 所指出的,2006 年注册的 MIME 类型 application/javascript 旨在取代 text/javascript。来自the relevant RFC的引用:
因此,本文档定义了 text/javascript 和 text/ecmascript,但将它们标记为“已过时”。不鼓励使用上面部分列出的实验性和未注册的媒体类型。媒体类型,
* application/javascript * application/ecmascript在本文档中也有定义,旨在供普遍使用,应改为使用。
但是,IE(直到并包括版本 8)不会在具有 type 属性的 <script> 元素内执行脚本 application/javascript 或 application/ecmascript,因此在可预见的未来这些都无法使用我们被 text/javascript 困住了。
【讨论】:
<script language="javascript" type="text/javascript"></script>
HTML 4.01 / XHTML 1.0 过渡语言属性已弃用
<script type="text/javascript"></script>
HTML 4.01 / XHTML 1.0 Strict(或不推荐使用语言属性的过渡)
<script language="javascript"></script>
HTML 3.2
【讨论】:
所有这些在技术上都已被弃用,但第二个最不惹恼人们。 :)
不推荐使用两种语言(请参阅 W3C XHTML 1.1)和 text/javascript(请参阅 MIME registry for text)。 recommended mime 类型是 application/javascript,但这不是向后兼容的。
【讨论】: