差异b / w

时间:2010-06-03 05:08:05

标签: javascript

有什么区别:

  1. < script language =“javascript”type =“text / javascript”>< /脚本>

  2. < script type =“text / javascript”>< /脚本>

  3. < script language =“javascript”>< /脚本>

3 个答案:

答案 0 :(得分:7)

所有这些都在技术上被弃用,但第二个让人最不安。 :)

不推荐使用这两种语言(请参阅W3C XHTML 1.1)和text / javascript(请参阅MIME registry for text)。 recommended mime类型是application / javascript,但这不是向后兼容的。

答案 1 :(得分:6)

数字2是您现在和可预见的未来所能做的最好的事情。

首先,HTML 4.01 specificationdraft HTML 5 specification中已弃用language属性,XHTML 1.0 Strict中省略了type属性,因此选项1和3已用完。

其次,你需要一个类型属性吗?是。 HTML 4.01和XHTML 1.0根据需要指定text/javascript属性,而HTML5将其作为可选项,默认为type。因此,在HTML5最终确定并广泛实施之前,如果您希望HTML有效,则必须具有<script></script>属性,这排除了简单application/javascript(我知道这不是原始选项之一) ,但这是我见过推荐的东西。)

第三,type属性应该包含哪些内容?正如Matthew Flaschen所述,2006年注册的MIME类型text/javascript旨在取代 * application/javascript * application/ecmascript 。来自the relevant RFC的引用:

  

因此,本文档定义了text / javascript和text / ecmascript,但将它们标记为“过时”。不鼓励使用上面部分列出的实验和未注册媒体类型。媒体类型,

<script>
     

也在本文档中定义,仅供常用,应改为使用。

但是,IE(包括版本8)不会在type元素内执行application/javascript属性为application/ecmascripttext/javascript的脚本,因此这些在可预见的未来都无法使用,我们仍然坚持使用{{1}}。

答案 2 :(得分:3)

<script language="javascript" type="text/javascript"></script>

HTML 4.01 / XHTML 1.0 Transitional with deprecated language attribute

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

HTML 4.01 / XHTML 1.0严格(或过渡时没有弃用的语言属性)

<script language="javascript"></script>

HTML 3.2