忽略脚本类型是否是一种好的做法?
我听到一些人说,你不需要在<script>
标记指定type="text/javascript"
,因为这是默认的类型。
如果我打开我的脚本标记为<script>
而不是更详细的<script type="text/javascript">
,是否有任何缺点?
在HTML4需要的type
属性,它也不会被认为是“好习惯”,如果你不使用HTML5打破规格:
http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1
在HTML5并非如此。
http://dev.w3.org/html5/markup/script.html
如果你要使用HTML4,然后好的做法当然包括秉承其规格。如果您使用的是HTML5,那么很明显,没有type
的<script>
是text/javascript
,因此您可以放心地忽略它。
感谢您的参考。但实际上,您是否在html4中有示例,忽略该类型会导致问题? – Christophe 2012-07-30 21:18:25
@Christophe不,因为浏览器被设计为处理不良的HTML。这并不意味着写出你可以避开的东西是一个好主意。您的问题具体是一个陷阱,因为我们已经可以假设(因为HTML5)未来的浏览器实现将采用默认类型,但通常情况下,编写无效的HTML现在正常工作是错误的,因为它可能无法正常工作在未来的浏览器中。 – kojiro 2012-07-30 21:24:58
我同意这是一个陷阱,这正是我寻求社区建议的原因! (在尝试保存几个字节之前) – Christophe 2012-07-30 21:57:15
这个工作是否仍然存在于市场中的非html5浏览器? – 2012-07-30 21:14:21
@Truth那么非HTML5文档呢? – Christophe 2012-07-30 21:15:04
@Christophe:它**的工作很好,但它不会如此有效,如果你关心的话。 – 2012-07-30 21:15:08
尽管使用HTML5时不需要脚本类型属性,但无论如何,它始终应该使用。每次将脚本包含到HTML文档中时,最好使用它。添加它并没有什么坏处,但是不添加它可能会造成伤害。如果未指定type属性,则较旧的浏览器可能无法识别该脚本。
是否正在开发一个桌面网站,企业内部网(internetcafé也许),你可以这样写:
<script>
$(functions(){});
</script>
如果您使用HTML或XHTML的互联网,我建议你写你的脚本标签是这样的:
<script type="text/javascript">
// <![CDATA[
// functions
$(functions(){});
// ]]>
而且,由于我们是在它完成这个内联CSS:
<style type="text/css">
/* <![CDATA[ */
/* tags */
html, body {}
/* ]]> */
</style>
ŧ他的方式,你摆在那里的任何性格的应该是一个有效的字符
编辑 http://en.wikipedia.org/wiki/CDATA#Uses_of_CDATA_sections
@kojiro我的问题是不特定于HTML5。 – Christophe 2012-07-30 21:14:19
不是真的一个人。这是一个更普遍的问题。 – Beska 2012-07-30 21:15:26
@Christophe我推断你听到的几个人都在谈论HTML5已经定义了默认类型的事实。默认类型是* not *在HTML4中指定。 – kojiro 2012-07-30 21:22:08