哪个更好:<script type =“text / javascript”> … </ script>或<script> … </ script>

哪个更好或更方便使用:

<script type="text/javascript">...</script> 

要么

 <script>...</script> 

你需要一个types属性吗? 如果您使用的是HTML5,不需要。 否则,是的。 HTML 4.01和XHTML 1.0根据需要指定了type属性,而HTML5将其作为可选属性,默认为text/javascript 。 HTML5现在被广泛实现,所以如果你使用HTML5的文档types, <script>...</script>是有效的,并且是一个不错的select。

至于在type属性中应该怎么做,2006年注册的MIMEtypesapplication/javascript是用来代替text/javascript并且被所有主要浏览器(包括Internet Explorer 9)的当前版本所支持。 来自相关RFC的引用:

因此,这个文件定义了text / javascript和text / ecmascript,但将它们标记为“过时”。 不鼓励使用上面列出的实验和未注册媒体types。 媒体types,

  * application/javascript * application/ecmascript 

在本文档中也有定义,它们是用于通用的,应该用来代替。

但是,包含版本8在内的IE不会在具有application/javascriptapplication/ecmascript type属性的<script>元素内执行脚本,所以如果您需要支持旧的IE, text/javascript

两者都可以工作,但是xhtml标准也要求你指定type

 <script type="text/javascript">..</script> <!ELEMENT SCRIPT - - %Script; -- script statements --> <!ATTLIST SCRIPT charset %Charset; #IMPLIED -- char encoding of linked resource -- type %ContentType; #REQUIRED -- content type of script language -- src %URI; #IMPLIED -- URI for an external script -- defer (defer) #IMPLIED -- UA may defer execution of script -- > 

type = content-type [CI]此属性指定元素内容的脚本语言并覆盖默认的脚本语言。 脚本语言被指定为内容types(例如“text / javascript”)。 作者必须为此属性提供一个值。 这个属性没有默认值。

注意上面的重点。

http://www.w3.org/TR/html4/interact/scripts.html

注意:从HTML5(远处)开始, type属性不是必需的,并且是默认的。

除非你使用html5,否则你需要使用<script type="text/javascript"> </script> 。 在这种情况下,我们鼓励您更喜欢<script> ... </script> (因为type属性默认指定为该值)

这是所需要的一切:

 <!doctype html> <script src="/path.js"></script> 

因为它的方式正确并且与所有浏览器兼容

使用最新的Firefox,我必须使用:

 <script type="text/javascript">...</script> 

否则脚本可能无法正常运行。