text/javascript vs application/javascript

dda*_*son 52 javascript mime-types

我很好奇的MIME类型的语义application/javascript对比text/javascript.

显然,一个应该被执行,另一个应该只是文本.

application/javascript在查看外部.js加载的标题时看到了.

HTTP/1.1 200 OK
Date: Mon, 13 Jan 2014 18:32:58 GMT
Server: Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/0.9.8e-fips-rhel5
Content-Type: application/javascript
Content-Length: 856
keep-alive: timeout=5, max=59
Via: 1.1 (jetty)
Accept-Ranges: bytes
Run Code Online (Sandbox Code Playgroud)

如果这application/javascript将执行javascript,为什么我们不使用

<script type="application/javascript">
  // some js code.
</script>
Run Code Online (Sandbox Code Playgroud)

反之亦然,为什么外部js不加载text/javascript

dth*_*ree 60

按此,text/javascript过时.请application/javascript改用.

text/javascript(已淘汰):JavaScript; 在RFC 4329中定义并过时,以阻止其使用以支持application/javascript.但是,HTML 4和5中允许使用text/javascript,与application/javascript不同,它具有跨浏览器支持.HTML5中标记的"type"属性是可选的,根本不需要使用它,因为所有浏览器始终采用正确的默认值(即使在规范要求的HTML 4中).

该标准与IE <= 8不兼容.

  • Sry,我的意思是IE <= 8,仍然有很多人(不是我)想要支持.我只是说你应该在答案中提到有不兼容的传统引擎. (8认同)
  • 根据 IETF 的 [ECMAScript 媒体类型更新](https://datatracker.ietf.org/doc/draft-ietf-dispatch-javascript-mjs/),RFC 4329 已过时。 (5认同)
  • [WG 规范规定应使用 **`text/javascript`。**](https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguages) 链接的维基百科文章不包含该信息不再了。 (4认同)