忽略脚本类型是否是一种好的做法?

忽略脚本类型是否是一种好的做法?

问题描述:

可能重复:
HTML5 <script> declarations忽略脚本类型是否是一种好的做法?

我听到一些人说,你不需要在<script>标记指定type="text/javascript",因为这是默认的类型。

如果我打开我的脚本标记为<script>而不是更详细的<script type="text/javascript">,是否有任何缺点?

+3

@kojiro我的问题是不特定于HTML5。 – Christophe 2012-07-30 21:14:19

+0

不是真的一个人。这是一个更普遍的问题。 – Beska 2012-07-30 21:15:26

+0

@Christophe我推断你听到的几个人都在谈论HTML5已经定义了默认类型的事实。默认类型是* not *在HTML4中指定。 – kojiro 2012-07-30 21:22:08

在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,因此您可以放心地忽略它。

+0

感谢您的参考。但实际上,您是否在html4中有示例,忽略该类型会导致问题? – Christophe 2012-07-30 21:18:25

+0

@Christophe不,因为浏览器被设计为处理不良的HTML。这并不意味着写出你可以避开的东西是一个好主意。您的问题具体是一个陷阱,因为我们已经可以假设(因为HTML5)未来的浏览器实现将采用默认类型,但通常情况下,编写无效的HTML现在正常工作是错误的,因为它可能无法正常工作在未来的浏览器中。 – kojiro 2012-07-30 21:24:58

+0

我同意这是一个陷阱,这正是我寻求社区建议的原因! (在尝试保存几个字节之前) – Christophe 2012-07-30 21:57:15

是的!你完全可以省略类型。请确保您的文档类型为HTML5 if you care for validity.

<!doctype html> 

它会工作得细,虽然与你能想到的任何浏览器。

虽然:)

+0

这个工作是否仍然存在于市场中的非html5浏览器? – 2012-07-30 21:14:21

+1

@Truth那么非HTML5文档呢? – Christophe 2012-07-30 21:15:04

+0

@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