哪个更好:<script type="text/javascript">...</script> 或 <script>...</script>

IT技术 javascript html
2021-01-22 07:22:25

哪个更好或更方便使用:

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

或者

<script>...</script>
6个回答

你需要一个类型属性吗?如果您使用的是 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,则只能使用.typeapplication/javascriptapplication/ecmascripttext/javascript

只是想说“谢谢”,因为我试图弄清楚为什么没有在 IE8 及更低版本上执行“应用程序/javascript”JS 文件!
2021-03-19 07:22:25
+1,刚刚从一个骗子那里发现了这个问题。这让我想起了几个职位安妮范·Kesteren的的博客,包括JavaScript的MIME类型,在那里他讨论了这一点。我无法完全找到它,但我确信有一篇帖子建议他完全不要使用type,因为它适用于所有浏览器。也许是别人。
2021-03-21 07:22:25
@Ian:在撰写本文时,HTML5 规范是一个工作草案,尚未转变为永久移动目标的当前状态。HTML5 的浏览器实现远远落后于它们现在的水平。考虑到这一点,我认为当时的 HTML5 在一般网络上不可行,我的回答是绝对公平的,并且始终带有免责声明“如果您希望您的 HTML 有效”我同意事情已经发生了变化,这个答案可以与修订有关,但我不同意用 HTML 4.01 编写网页现在总是错误的做法。
2021-04-11 07:22:25
怎么样: "text/javascript;version=1.8" ?
2021-04-13 07:22:25
您不需要“需要”该type属性。无论如何,针对 HTML4.01 或 XHTML 1.0 进行验证不再是您应该做的事情,并且所有浏览器都将支持您的标签,而无需text/javascript
2021-04-14 07:22:25

两者都可以使用,但 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> 因为它是正确的方法并且与所有浏览器兼容

这是 HTML 5 之前的正确方式。 HTML 5 在您撰写此答案前两年发布。
2021-04-13 07:22:25