123

javascript的MIME类型是什么?

更具体地说,在脚本标签的“类型”属性中放入什么是正确的?application/x-javascript并且text/javascript似乎是主要的竞争者。

4

5 回答 5

149

这是一个常见的错误。多年来,javascript 的 MIME 类型没有标准化。它现在是正式的:“ application/javascript ”。

这里真正的问题是大多数浏览器无论如何都不会使用该属性,至少在 script 标签的情况下不会。他们实际上在数据包内部窥视并为自己确定类型。

所以底线是 type="text/javascript" 就 javascript 而言没有任何作用,但它是HTML 4XHTML 1.0规范的一部分。

于 2008-10-10T02:08:38.313 回答
28

很远,这是我在该主题上找到的第一页,对此有任何意义。

我的集体研究表明:

  1. text/javascript正如 Keparo 所说,如果你想让它验证,必须在 html4 和 xhtml1 中使用。尽管浏览器会忽略它。
  2. application/javascript如果每个人都同意并且一切都赶上来,预计将成为新的官方 MIME 类型。
  3. application/x-javascript(x 表示非官方)是 javascript 的当前服务器端 MIME 参考。
  4. 每个人都希望像往常一样,微软将决定做一些完全不同的事情来进一步混淆和解决问题。

摘要:目前,如果您希望您的 html/xhtml 在 MSIE 中工作并通过 W3C 进行验证,请声明type="text/javascript". 如果您希望您的网络服务器知道您的意思是 javascript,请使用application/x-javascript.

于 2010-01-04T09:26:41.460 回答
5

文本/javascript

我相信 IE 不接受 application/x-javascript

指定脚本语言

于 2008-10-10T01:58:39.537 回答
4

在脚本标签中,我会使用 text/javascript。无论如何,这出现在 HTML 4.0 规范中。

http://www.w3.org/TR/REC-html40/interact/scripts.html

[编辑] 有趣的是,标准化 application/javascript 的RFC已有 2 年历史,但 text/javascript 仍然更常见。这是定制战胜标准的又一个案例吗?它也出现在HTML5中。

于 2008-10-10T01:52:13.713 回答
-1

定义 Javascript MIME 类型的官方 RFC 是RFC4329

     
7. JavaScript 媒体类型

7.1。文本/javascript(已过时)

   类型名称:文本
   子类型名称:javascript
   必需参数:无
   可选参数:charset,见4.1节。
   编码注意事项:
      与 [RFC3023] 的第 3.1 节中的注意事项相同。

   安全注意事项:见第 5 节。
   互操作性考虑:
      无,除非在本文档的其他部分中注明。

   已发布规范:[JS15]
   使用此媒体类型的应用程序:
      本文档中讨论的脚本解释器。

   附加信息:

      幻数:不适用
      文件扩展名:.js
      Macintosh 文件类型代码:TEXT

   个人和电子邮件地址联系以获取更多信息:
      请参阅作者地址部分。

   预期用途:已过时
   使用限制:不适用
   作者:见作者地址部分。
   变更控制人:IESG。

7.2. 应用程序/javascript

   类型名称:应用程序
   子类型名称:javascript
   必需参数:无
   可选参数:charset,见4.1节。
   编码注意事项:
      与 [RFC3023] 的第 3.2 节中的注意事项相同。

   安全注意事项:见第 5 节。
   互操作性考虑:
      无,除非在本文档的其他部分中注明。

   已发布规范:[JS15]
   使用此媒体类型的应用程序:
      本文档中讨论的脚本解释器。

   附加信息:

      幻数:不适用
      文件扩展名:.js
      Macintosh 文件类型代码:TEXT

   个人和电子邮件地址联系以获取更多信息:
      请参阅作者地址部分。

   预期用途:常见
   使用限制:不适用
   作者:见作者地址部分。
   变更控制人:IESG。
于 2011-04-12T07:53:23.170 回答