我阅读了Crockford的JavaScript最佳实践,他指出:
没有必要使用语言或类型属性。服务器而不是脚本标签决定MIME类型。
但我从未见过有人省略他们的<script>
标签中的type
属性......
你们是否包括type
?为什么(不)?
我阅读了Crockford的JavaScript最佳实践,他指出:
没有必要使用语言或类型属性。服务器而不是脚本标签决定MIME类型。
但我从未见过有人省略他们的<script>
标签中的type
属性......
你们是否包括type
?为什么(不)?
你误解了Crockford的意思,他并没有说type
属性是完全无效的,只是不正确而已。JavaScript的MIME类型是application/javascript
(或者application/ecmascript
我现在记不清了)。
一般来说,text/javascript
是通用使用的,因为浏览器处理起来没有问题,这已经成为事实标准很长时间了。
关于<script src="..."
标签,它是多余的,因为服务器会确定文件的MIME类型,然后浏览器会处理它。
Crockford在YUI Theater的一个视频中最好地解释了这个问题(http://developer.yahoo.com/yui/theater/)。我不记得具体是哪一个视频谈到了这个问题,我想它应该是高级JavaScript系列(但是是的,我已经多次观看了所有视频,所以它们有点混乱)。
因此,如果你想编写有效的XHTML,你需要提供类似text/javascript
的内容,但它并不是JavaScript语言的官方MIME类型。
我使用type
属性,因为它是有效HTML所必需的。但实际上,它并没有任何作用。
type属性对于HTML和XHTML的验证是必需的,因此我总是写它
我也会使用type属性,因为有时在Firefox中JavaScript代码无法正常工作。通过使用它,我解决了一些浏览器兼容性问题。