3 回答
TA贡献1810条经验 获得超4个赞
从理论上讲,根据RFC 4329,application/javascript。
假定的原因application与该类型是可读还是可执行无关。这是因为语言/类型本身(而非通用charset参数)规定了自定义字符集确定机制。的子类型text应该能够通过代理更改为另一个字符集,从而更改charset参数。JavaScript并非如此,因为:
一种。RFC表示用户代理应该在脚本上进行BOM嗅探以确定类型(不过我不确定是否有任何浏览器确实这样做);
b。浏览器使用其他信息(包括页面的编码以及某些浏览器中的script charset属性)来确定字符集。因此,任何尝试对资源进行转码的代理都将破坏其用户。(当然,实际上,没有人会使用转码代理,但这是目的。)
因此,文件的确切字节必须保留准确,这使得它的二进制application类型,而不是技术上基于字符text。
出于相同的原因,application/xml正式优于text/xml:XML具有自己的带内字符集信令机制。每个人也都忽略applicationXML。
text/javascript而text/xml未必是官方的正确的事情,但有什么用大家今天兼容性的原因,为什么他们不正确的事情的原因是实际地说完全不重要。
TA贡献1828条经验 获得超3个赞
Javascript的MIME类型的问题在于,多年来没有一个标准。现在,我们已经将application / javascript作为正式的MIME类型。
但是实际上,MIME类型根本不重要,因为浏览器可以确定类型本身。这就是HTML5规范指出type="text/javascript"
不再需要的原因。
TA贡献1842条经验 获得超21个赞
application-javascript是要使用的正确类型,但是由于IE6-8不支持它,因此您将不得不使用text / javascript。如果您不关心有效性(不包括HTML5),那么就不要指定类型。
添加回答
举报