提供JavaScript文件时,最好使用application / javascript或application / x-javascript

问题描述 投票:94回答:6

整个问题都适合标题。并添加一些上下文:我不是在问规范所要求的最佳方法,而是考虑到当今部署的浏览器的混合,哪种方法最有效。

一些数据点:

  • Google将text/javascript用于其主页上使用的JS。
  • Google在Google文档上使用text/javascript
  • Google使用application/x-javascript将JavaScript文件与Ajax libraries service一起提供。
  • Yahoo使用application/x-javascript提供其JS。
  • Yahoo将application/x-javascript用于其主页上提供的JavaScript。
javascript http content-type
6个回答
115
投票
  • text/javascript已过时
  • [application/x-javascript在尝试移至…时是实验性的]
  • application/javascript是JS的当前官方MIME类型

就是说,浏览器经常忽略服务器发送的content-type,并特别注意type属性(有些可能无法识别application/javascript。]

我的推荐:

  • 在服务器上使用应用程序/ javascript
  • 使用HTML 5并从脚本元素中忽略type属性

13
投票

[在大多数情况下,服务器发送的mime类型没有实际差异。我会使用application/javascript,这也是RFC推荐的。


7
投票

如果您选择在页面中为js使用application / javascript,则IE7和IE8将不会运行您的脚本!责怪Microsoft,但如果您希望大多数人运行页面,请使用text / javascript。


7
投票

过去是language="javacript"。然后更改为type="text/javascript"。现在是type="application/javacript"。好的,这变得愚蠢了。一些较旧的浏览器无法识别新的application/javascript,但仍可识别较旧的text/javascript。我计划继续使用它,否则我将浪费数小时的时间尝试将text/javascript的每个实例更改为application/javascript。现在总有一天相反。有一天,最新的浏览器可能会拒绝旧技术,以便严格遵守标准。但是直到浏览我的网站的人们开始抱怨“自升级浏览器以来,大约50%的网站消失了”,我才没有动机更改我的网站中的代码。


5
投票

它曾经是“文本/ javascript”,但是已经过时(请参阅IANA List),现在应该是“ application / javascript”(请参阅​​another IANA List)。


0
投票

这是该问题的2020年答案。

[text/javascript是每个the HTML Standard的正确的JavaScript MIME类型,其指出:

服务器应将text/javascript用于JavaScript资源。服务器不应将其他JavaScript MIME类型用于JavaScript资源,并且不得使用非JavaScript MIME类型。

also

[…]在此规范中用于引用JavaScript的MIME类型为text/javascript,因为这是最常用的类型,尽管它是根据RFC 4329正式被淘汰的类型。

正在努力在IETF级别的RFC中反映这一现实:https://datatracker.ietf.org/doc/draft-ietf-dispatch-javascript-mjs/

[任何声称“ text/javascript都是过时的人”都是基于RFC 4329这么说的,HTML标准和上述IETF草案(即即将发布的RFC)都在明确纠正。

© www.soinside.com 2019 - 2024. All rights reserved.