忽略脚本类型是一种好的实践吗?(这是一个提问标题)

5

可能重复:
HTML5 <script> 声明

我听说过有些人说在 <script> 标签中不需要指定 type="text/javascript",因为这是默认类型。

如果我使用更简洁的方式打开我的脚本标签,如 <script> 而不是更冗长的 <script type="text/javascript">,是否会有任何缺点?


3
@kojiro 我的问题不仅限于HTML5。 - Christophe
并不是完全重复的问题。这是一个更一般性的问题。 - Beska
@Christophe,我推断你听到的少数人谈论的是HTML5定义了默认类型这一事实。在HTML4中未指定默认类型。 - kojiro
@kojiro 是的,那是一个好观点,但我听到(或读到)的评论也适用于旧版浏览器和文档类型。 - Christophe
4个回答

3

谢谢提供参考。但是在实践中,您有没有HTML4的例子可以证明省略type会导致问题? - Christophe
@Christophe 不,因为浏览器是设计用来处理不良的HTML代码的。这并不意味着写出能够运行的代码就是一个好主意。你的问题具有一定的陷阱性,因为我们已经可以假设(由于HTML5),未来的浏览器实现将默认假定一个类型,但通常,编写无效的HTML代码,即使它现在可以正常工作,也是错误的,因为它可能在未来的浏览器中无法正常工作。 - kojiro
我同意这是有点陷阱,这正是为什么我在尝试节省几个字节之前寻求社区的建议! - Christophe
@Christophe 但是有一个简单的解决方法:使用HTML5,并且不包括“type”。 - kojiro
@kojiro 除非你必须支持旧版浏览器,否则这并不起作用。 - Beska
@Beska 什么浏览器?多老的版本? - kojiro

1

是的!您绝对可以省略类型。确保您的文档类型为HTML5如果您关心有效性。

<!doctype html>

但是,无论您使用哪种浏览器,它都可以正常工作。

如果您不使用HTML5,那么违反规范将不被视为“良好的实践” :)


这个能在市场上仍存在的非HTML5浏览器中使用吗? - Karoly Horvath
1
@Truth 那么非HTML5文档怎么办? - Christophe
@Christophe:它可以正常运行,但如果你很在意的话,它可能不太有效。 - Madara's Ghost
1
我认为问题是“这是一个好的做法吗?”因此,我绝对不同意你的“是”。这绝对是一种不好的做法(在HTML<5中),即使你不能命名一个不处理它的浏览器。 - Michał Górny

1
即使在使用HTML5时,脚本类型属性并不是必需的,但无论何时都应该使用它。每次将脚本包含到HTML文档中时,最好都使用它。添加它不会有任何影响,但不添加它可能会有影响。如果未指定类型属性,则较旧的浏览器可能无法识别脚本。

0

如果您正在为内部网络(例如网吧)开发桌面网站,可以编写:

<script>
   $(functions(){});
</script>

如果您在互联网上使用HTML或XHTML,我建议您像这样编写脚本标签:
<script type="text/javascript">
// <![CDATA[
   // functions
   $(functions(){}); 
// ]]>

顺便说一下,为了完成内联CSS:

<style type="text/css">
/* <![CDATA[ */
    /* tags */
    html, body {}
/* ]]> */
</style>

这样,无论您放入什么类型的字符,都应该是有效的字符

EDIT http://en.wikipedia.org/wiki/CDATA#Uses_of_CDATA_sections


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接