【发布时间】:2011-09-01 15:33:43
【问题描述】:
text/javascript 和 application/javascript 有什么区别?
如果你将 type 属性设置为 application/javascript,IE 将完全忽略 script 标签。
但是主要区别是什么?在这种情况下我们需要使用特定的。
【问题讨论】:
标签: javascript
text/javascript 和 application/javascript 有什么区别?
如果你将 type 属性设置为 application/javascript,IE 将完全忽略 script 标签。
但是主要区别是什么?在这种情况下我们需要使用特定的。
【问题讨论】:
标签: javascript
text/javascript 是在网络还很年轻的时候引入的,人们还没有考虑清楚。
然后人们仔细考虑,并决定 text/* 应该保留给设计为人类可读的东西(这就是为什么一些 XML 是 text/xml 而其他 XML 是 application/xml)。 JavaScript 不是人类可读的,因此 text/javascript 已被弃用,而引入 application/javascript 来替代它。
多年后,一些浏览器仍然没有赶上。
您可以将服务器配置为始终在 HTTP 标头中提供 application/javascript;不支持它的浏览器也不会关注实际的内容类型。
目前,如果您正在编写 HTML 4 或 XHTML 1,请在 type 属性中指定 text/javascript 以实现向后兼容性。如果您正在编写 HTML 5,则省略 type 属性(因为它现在是可选的)。
【讨论】:
application/css,只有text/css。
HTML 4.01 (1999) 规范建议使用 MIME 类型 text/javascript (http://www.w3.org/TR/1999/REC-html401-19991224/interact/scripts.html#h-18.2.2.2)。
但是,RFC 4329 (2006) 现在建议使用 application/javascript。
过去text/javascript 似乎被大量使用,因为它是浏览器最有可能支持的类型,所以 HTML 规范中也建议使用这种类型。理想情况下,您会使用application/javascript。
实际上,您可能需要使用text/javascript 来提供与不太符合要求的浏览器的兼容性。
【讨论】: