资源被解释为文档但使用MIME类型text / css传输
这是Google Chrome Inspector中显示的错误。
该文件是:http://www.doanddare.org/css/style.css
它由php处理器呈现。
我该如何解决这个错误?
返回的标头是:
Accept:application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Cache-Control:max-age=0
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3
HTTP/1.1 200 OK
Date: Sun, 10 Oct 2010 07:35:04 GMT
Server: Apache
content-style-type: text/css
Expires: Thu, 10 Oct 2030 03:50:23 GMT
Cache-Control: max-age=631138519, public
Content-Encoding: gzip
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/css
Connection: Keep-Alive
是否可以将请求标头作为文档发送,并将响应标头作为css文件返回?
如果是这样,我应该如何控制请求标头?
谢谢你的帮助。
当我在Chrome上查看特定资源时,我只会收到错误消息。当我尝试打开Javascript文件(.js)时也会发生这种情况。
我的结论是,当您在Chrome中打开一个组件文件(.css,.js)时,它会尝试将其解释为文档(在屏幕上显示输出),而不是将其解释为其本机MIME类型。
说一个Javascript文件。如果您在Chrome中输入,则应将其解释为文档(在屏幕上显示输出),而不是Chrome执行脚本(这是其原生MIME类型的作用)。
该消息仅限Google Chrome,可忽略不计,因为它仅在您打开组件文件时显示。
我得到了同样的错误,我想我知道为什么。如果查看您的请求标头,您会看到它们包括:
接受:应用/ XML,应用/ XHTML + xml的,text / html的; Q = 0.9,文本/无格式; Q = 0.8,图像/ PNG,/ Q = 0.5
它们尤其不包括“text / css”。所以Chrome告诉服务器它不会接受“text / css”类型的响应,当它变得如此时,它会报告在其控制台上发生的事情。
当我通常在html页面中包含CSS样式表时,错误消息不会显示,因为在这些情况下Chrome请求标题说:
Accept: text/css
但是,如果我尝试设置
iframe.src = someCssFile.css
我收到了消息。所以它给了我一些线索,我正在尝试将CSS加载到不期望的地方。它确实加载它,但控制台给我的消息。
确实这不是一个错误,它是一个警告,这就是Chrome所说的。一个警告。但我同意知道造成这种情况的原因很好。
我认为没有办法明确控制Chrome发送给服务器的请求标头。浏览器只是解释HTML,并根据它们提供他们发送的标头。