哪个更好或更方便使用:
<script type="text/javascript">...</script>
或者
<script>...</script>
哪个更好或更方便使用:
<script type="text/javascript">...</script>
或者
<script>...</script>
你需要一个类型属性吗?如果您使用的是 HTML5,则不会。否则,是的。HTML 4.01 和 XHTML 1.0 将type
属性指定为必需属性,而 HTML5 将其作为可选属性,默认为text/javascript
. HTML5 现在已被广泛实现,因此如果您使用 HTML5 doctype,<script>...</script>
则是有效且不错的选择。
至于 type 属性中应该包含的内容application/javascript
,2006 年注册的 MIME 类型旨在取代text/javascript
所有主要浏览器(包括 Internet Explorer 9)的当前版本并支持。来自相关 RFC 的引用:
因此,本文档定义了 text/javascript 和 text/ecmascript,但将它们标记为“过时”。不鼓励使用上面部分列出的实验性和未注册媒体类型。媒体类型,
* application/javascript * application/ecmascript
本文档中也定义了这些内容,旨在供通用使用,应改为使用。
但是,IE 8 及以上版本不会在具有or属性的<script>
元素内执行脚本,因此如果您需要支持旧版 IE,则只能使用.type
application/javascript
application/ecmascript
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] 此属性指定元素内容的脚本语言并覆盖默认脚本语言。脚本语言被指定为内容类型(例如,“text/javascript”)。 作者必须为此属性提供一个值。此属性没有默认值。
注意上面的强调。
http://www.w3.org/TR/html4/interact/scripts.html
注意:从 HTML5 开始,该type
属性不是必需的并且是默认值。
您需要使用<script type="text/javascript"> </script>
,除非你使用HTML5。在这种情况下,我们鼓励您选择<script> ... </script>
(因为 type 属性默认指定为该值)
这就是所需要的:
<!doctype html>
<script src="/path.js"></script>
<script type="text/javascript"></script>
因为它是正确的方法并且与所有浏览器兼容