基于问题 jQuery code not working in IE , text/javascript
在 HTML 文档中使用,因此 Internet Explorer 可以理解它。
但我想知道,你什么时候会使用 application/javascript
,更重要的是,你为什么要使用它而不是 text/javascript
?
原文由 Mark Baijens 发布,翻译遵循 CC BY-SA 4.0 许可协议
基于问题 jQuery code not working in IE , text/javascript
在 HTML 文档中使用,因此 Internet Explorer 可以理解它。
但我想知道,你什么时候会使用 application/javascript
,更重要的是,你为什么要使用它而不是 text/javascript
?
原文由 Mark Baijens 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
理论上,根据 RFC 4329
application/javascript
。它应该是
application
的原因与类型是否可读或可执行无关。这是因为语言/类型本身有自定义字符集确定机制,而不仅仅是通用的charset
参数。text
的子类型应该能够被代理转码到另一个字符集,改变字符集参数。 JavaScript 并非如此,因为:一个。 RFC 说用户代理应该对脚本进行 BOM 嗅探以确定类型(我不确定是否有浏览器确实这样做);
b.浏览器使用其他信息(包括页面的编码和 某些 浏览器中的
script charset
属性)来确定字符集。因此,任何试图对资源进行转码的代理都会破坏其用户。 (当然,实际上没有人使用转码代理,但这就是我们的意图。)因此,必须准确保留文件的 确切 字节,这使其成为二进制
application
类型,而不是技术上基于字符的text
。出于同样的原因,
application/xml
正式优于text/xml
:XML 有自己的带内字符集信号机制。对于 XML,每个人都忽略了application
。text/javascript
和text/xml
可能不是官方的正确的东西,但出于兼容性原因,今天每个人都使用它们,而它们不是正确的东西的原因实际上是完全不重要的.