html - MIME 类型 : Linking to CSS w/a txt Extension

标签 html css mime

<link type="text/css" media="all" rel="stylesheet" href="./foo.css.txt" />


Firbug 错误


样式表 foo.css.txt 未加载,因为它的 MIME 类型“text/plain”不是“text/css”。


解释


浏览器将 CSS 解释为文本文档而不是 CSS,尽管通过浏览器强制它是 MIME。当然,在生产中我将使用 foo.css(没有 txt 扩展名),但我认为这是可能的。它适用于 JavaScript:

<script type="text/javascript" src="./index.js.txt"></script> 


其他想法


  • 设置 type="css" 不会在 Firebug 中显示错误并且页面会验证,但 CSS 无法正确加载 - 我很确定这不是有效的虽然是 MIME 类型。我试图从 W3C 中找到一个 MIME 类型列表,但是对于所有很难找到/理解 W3C 的东西都是如此

  • 这确实适用于其他不太流行的扩展,例如 dat:href="./foo.css.dat"

最佳答案

当您在 HTML 中使用 type 属性时,您是在说“当您获取此资源时,期望获得此类数据。”这允许用户代理(例如浏览器)避免请求他们知道无法处理的资源。对于 CSS,您需要将其设置为 text/css

当服务器响应请求时,HTTP Content-Type header 表示“此内容 这种类型”。它是规范的,对于 CSS 数据也必须设置为 text/css

因为您使用了 .txt 文件,服务器(在默认配置中)说该文件包含 text/plain 的数据,所以它告诉浏览器。您不能从浏览器中覆盖它。

It works for JavaScript

由于各种原因,浏览器往往会忽略服务器为 JavaScript 指定的 Content-Type。这可能被认为是这些浏览器中的错误。

Setting type="css" doesn't show an error in Firebug and the page validates, but the CSS doesn't load properly - I'm pretty sure that's not a valid MIME type though

css 不是注册的 MIME 类型,浏览器不会将其识别为它可以理解的样式表语言,因此它不会尝试下载它。

I tried to find a list of MIME types off W3C, but as with everything it's difficult to find/understand W3C

W3C 不负责 MIME 类型注册表,您可以在 http://www.iana.org/assignments/media-types/ 找到它

关于html - MIME 类型 : Linking to CSS w/a txt Extension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216344/

相关文章:

css - 如何自定义无序列表的位置?

html - 在行之间的分隔线之前/之后具有间距的表格

php - 如何确定与 PHP 中的 MIME 类型关联的扩展名?

mime-types - 我的程序特定的二进制文件应使用哪种 MIME 类型?

html - 在 Bootstrap 媒体对象中对齐图像和媒体主体中心

java - Android:解析自定义论坛标签

带有起始索引的 HTML 嵌套编号列表

html - 围绕图片angularjs对齐 block

css - 使用 django 在 heroku 上部署 Bootstrap

python - 如何使用 Python imaplib 回复电子邮件并包含原始消息?