哪个更好:<脚本类型= “文/ JavaScript的”> ...或
哪个更好或更方便地使用:哪个更好:<脚本类型= “文/ JavaScript的”> ...</script>或<script> ...</script>
<script type="text/javascript">...</script>
或
<script>...</script>
你需要在所有类型属性所有的浏览器?如果您使用HTML5,则不会。否则,是的。 HTML 4.01和XHTML 1.0根据需要指定type
属性,而HTML5将其作为可选属性,默认为text/javascript
。 HTML5现已广泛实施,因此如果您使用HTML5文档类型,则<script>...</script>
是有效且不错的选择。
至于类型属性中应该包含哪些内容,2006年注册的MIME类型application/javascript
旨在替换text/javascript
,并且受所有主流浏览器(包括Internet Explorer 9)的当前版本的支持。来自the relevant RFC的报价:
因此,该文件定义了text/javascript和text/ecmascript,但将它们标记为“过时”。不鼓励使用上面部分列出的实验和未注册媒体类型。的媒体类型,
* application/javascript * application/ecmascript
其在本文件中也被定义,旨在用于普通使用状态,来代替。
然而,IE直至并包括版本8没有一个<script>
元素中有两种application/javascript
或application/ecmascript
的type
属性执行脚本,所以如果你需要支持旧的IE浏览器,你坚持text/javascript
。
你不需要“type”属性。对HTML4.01或XHTML 1.0进行验证并不是你应该做的事情,而且所有的浏览器都会在没有'text/javascript'的情况下支持你的标签。 – 2011-06-13 21:53:22
@Ian:在撰写本文时,HTML5规范是一个工作草案,尚未演变成其目前的永久移动目标状态。 HTML5的浏览器实现在他们现在所处的位置上是相当可观的。考虑到这一点,我认为当时的HTML5并不适合在一般网络上使用,我的回答是绝对公平的,并且总是带有免责声明*“如果您希望您的HTML有效”*。我同意,事情已经开始了,而且这个答案可以通过修订来实现,但我不同意在HTML 4.01中编写网页现在总是做错了。 – 2011-06-13 22:44:57
+1,刚刚发现了这个问题。它让我想起了Anne Van Kesteren博客上的[多个帖子](http://www.google.co.uk/search?rlz=1C1SVEA_enGB358GB358&gcx=c&sourceid=chrome&ie=UTF-8&q=anne+van+kesteren+script+type) ,包括[JavaScript MIME类型](http://annevankesteren.nl/2005/02/javascript-mime-type),他在这里讨论这个问题。我找不到它,但我确信有一个帖子,他建议不要使用'type',因为它适用于所有浏览器。也许这是别人。 – 2011-10-13 08:40:37
双方将工作,但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 --
>
类型=内容类型[CI] 该属性指定的元素的 内容的脚本语言和覆盖默认 脚本语言。脚本 语言被指定为内容 类型(例如,“text/javascript”)。 作者必须为此 属性提供值。此属性没有默认值 。
注意上述重点。
http://www.w3.org/TR/html4/interact/scripts.html
注:随着HTML5(远)的,不需要type
属性,是默认的。
除非您使用的是html5,否则您需要使用<script type="text/javascript"> </script>
。在这种情况下,我们鼓励你喜欢<script> ... </script>
(因为默认情况下,指定到该值类型属性)
<script type="text/javascript"></script>
,因为它的正确方法,并兼容
这是所有需要:
<!doctype html>
<script src="/path.js"></script>
有了最新的Firefox,我必须使用:
<script type="text/javascript">...</script>
否则脚本可能无法正常运行。
如果您使用javascript作为语言,那么当然第一个更好 – 2010-11-22 08:29:38
我猜你将java脚本声明为脚本的性能增益是微不足道的,但是很好的问题! – 2010-11-22 08:30:56
如果我们在Html v4和Html v5中,“正确”答案是否有所不同? – 2010-11-22 09:52:02