Html MIME类型:链接到CSS,带有txt扩展名

Html MIME类型:链接到CSS,带有txt扩展名,html,css,mime,Html,Css,Mime,其他想法 设置type=“css”不会在Firebug中显示错误,页面会进行验证,但是css没有正确加载-我很确定这不是有效的MIME类型。我试图从W3C中找到一个MIME类型列表,但与其他类型一样,很难找到/理解W3C 这确实适用于其他不太流行的扩展,例如dat:href=“./foo.css.dat” 如果可以使用.php而不是.txt,则可以从文件本身中设置类型。尝试使用服务器端扩展名,如.php 在这种情况下,您可以在文档本身中设置mime类型。当您在HTML中使用type属性时,您


其他想法


  • 设置
    type=“css”
    不会在Firebug中显示错误,页面会进行验证,但是css没有正确加载-我很确定这不是有效的MIME类型。我试图从W3C中找到一个MIME类型列表,但与其他类型一样,很难找到/理解W3C

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


如果可以使用.php而不是.txt,则可以从文件本身中设置类型。

尝试使用服务器端扩展名,如.php


在这种情况下,您可以在文档本身中设置mime类型。

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

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

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

它适用于JavaScript

出于各种原因,浏览器倾向于忽略服务器为JavaScript指定的内容类型。这可能被认为是这些浏览器中的一个bug

设置type=“css”不会在Firebug中显示错误,页面会进行验证,但是css没有正确加载-我很确定这不是有效的MIME类型

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

我试图从W3C中找到一个MIME类型列表,但与其他类型一样,很难找到/理解W3C


W3C不负责MIME类型注册表,您可以在

上找到它。如果有人还想这样做,可以使用JavaScript完成。下面是一个粗略的jQuery解决方案:

<script type="text/javascript" src="./index.js.txt"></script> 
var表=$(“”)
$('head')。追加(表格)
sheet.load(“./foo.css.txt”)

我无意中遗漏了样式标记,因此出现了此错误

例如


应该是:

<link rel="stylesheet"  href="lib/mycss.css" />


这不是让它工作,而是让它在不更改服务器配置的情况下使用“.txt”(请参阅我为RDL留下的注释)好的。我唯一能想到的另一种方法是通过Apache更改文件的处理,但您表示希望远离此方法。是的,远离txt文件的任何特殊配置:)这只是一个练习,而不是生产案例。我认为真正的问题,我没有包括在内,is:
是否有可能在HTML页面中实现这一点
我很确定我过去在Apache中修改了txt文件的内容类型,但我想看看是否有一种快速简便的方法可以向“link”元素添加内容我也将测试动态加载CSS文件时会发生什么。不,没有任何东西可以快速简单地添加到link元素,正如我所说:“你不能从浏览器中覆盖它。”有趣的示例-以文本形式检索文件并围绕它构建样式元素。已经有一段时间了,但我认为我这么做的原因是为了快速调试/浏览js/css文件,而不改变任何OS文件类型关联。这样,操作系统可能仍然执行一个
js
文件,但会在类似记事本的东西中打开一个
js.txt
。CSS可能是为了保持一致性。后续:我的评论(几年前的评论)对支持这个答案没有任何公正性,这将回避这个问题+1对于创造性的方法
var sheet = $('<style></style>')
$('head').append(sheet)
sheet.load("./foo.css.txt")
<link rel="stylesheet"  href="lib/mycss.css" />
<style><link rel="stylesheet"  href="lib/mycss.css" /></style>