【问题标题】:text/javascript vs application/javascript [duplicate]文本/javascript与应用程序/javascript [重复]
【发布时间】:2014-02-01 15:30:19
【问题描述】:

我很好奇 MIME 类型 application/javascripttext/javascript 的语义。

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

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

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

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

<script type="application/javascript">
  // some js code.
</script>

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

【问题讨论】:

  • 这实际上有很大帮助 - 我没有看到这个问题出现在建议中,也没有出现在我的搜索中。谢谢!
  • 然后回答我的问题:标头声明 application/javascript 的唯一原因是服务器使用约定并遵守 RFC-4329。返回text/javascript 也将是正确的,但将来会过时。

标签: javascript mime-types


【解决方案1】:

Per thistext/javascript过时。请改用application/javascript

文本/javascript(已过时):JavaScript;已定义并已过时 在 RFC 4329 中,以阻止其使用以支持 应用程序/javascript。但是,在 HTML 4 中允许使用 text/javascript 和 5 并且与 application/javascript 不同,具有跨浏览器支持。 HTML5 中标签的“type”属性是可选的, 根本不需要使用它,因为所有浏览器总是 假定正确的默认值(即使在 HTML 4 中 规范)。

此标准与 IE 不兼容

【讨论】:

猜你喜欢
  • 2019-05-16
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
  • 2017-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多