有什么区别:
< script language =“javascript”type =“text / javascript”>< /脚本>
< script type =“text / javascript”>< /脚本>
< script language =“javascript”>< /脚本>
答案 0 :(得分:7)
所有这些都在技术上被弃用,但第二个让人最不安。 :)
不推荐使用这两种语言(请参阅W3C XHTML 1.1)和text / javascript(请参阅MIME registry for text)。 recommended mime类型是application / javascript,但这不是向后兼容的。
答案 1 :(得分:6)
数字2是您现在和可预见的未来所能做的最好的事情。
首先,HTML 4.01 specification和draft 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/ecmascript
或text/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