我应该在我的SCRIPT标签中包含type =“text / javascript”吗?
我阅读了Crockford的JavaScript最佳实践 ,他说:
没有必要使用语言或types属性。 它是确定MIMEtypes的服务器,而不是脚本标记。
但是我从来没有见过任何人在<script>
标签中省略type
属性…
你们包括type
? 为什么不)?
你误解了克罗克福的意思,他没有说type
属性是完全无效的,只是它不正确。 JavaScript的MIMEtypes是application/javascript
(或者现在我不记得的application/ecmascript
)。
尽pipe一般的用法是,那些浏览器在没有任何问题的情况下可以处理text/javascript
,因为这已经成为很长一段时间的事实标准。
关于<script src="..."
标签,它是多余的,因为服务器确定文件的MIMEtypes,这就是浏览器将要处理的内容。
他最好在YUI Theatre( http://developer.yahoo.com/yui/theater/ )的一个video中解释它。 我不记得他究竟在谈论哪一个,我想这是在先进的JavaScript系列(但是,我已经看了他们所有的几次,所以他们模糊对方)。
所以如果你想编写有效的XHTML,你需要提供类似于text/javascript
东西,但它不是JavaScript语言的官方 MIMEtypes。
如果脚本embedded在页面中,则Crockford的build议是不相关的。
如果你想编写符合标准的HTML,那么它仍然是不相关的。
他一般都会关注与JavaScript有关的所有事情,所以他可能只是给你一些背景信息,而不是告诉你该怎么做。
在链接之后,该页面显示了其年龄。 例如:
<script src=filename.js>
标签应尽可能放在身后。 这减less了脚本加载到其他页面组件上造成的延迟的影响。
“现代”方法是使用jQuery(或类似的风格)在文档加载时执行处理,这自动解决了这个问题,使您可以将脚本标记放在任何符合逻辑的地方。
HTML5规范说默认的type
是text/javascript
…所以在HTML5中,你可以在所有的情况下都保留这个空白,实际上是使用Javascript编写脚本。 有关更多信息,请参阅规范 。
在HTML4中, type
属性是必需的 ,所以如果你关心拥有“有效的”HTML,那么你应该包含它,显然如果Crockford说这个属性是不需要的,在这种情况下HTML没有明显的缺点。
我使用type
属性,因为它是有效的HTML所必需的。 但实际上,这没有任何用处。
HTML属性和XHTMLvalidation需要type属性,所以我总是写它
我也将使用types属性,因为,有时在Firefox中JavaScript代码不工作。 通过使用我解决了一些浏览器兼容性问题。