IE9 CSS因Mime类型不匹配而被忽略问题相关解答

你觉得你过不去的坎的时候,有一天也会乐观的和别人分享。或许这就是成长。有时候,闭上眼睛,放下骄傲,承认是自己错了,不是认输,而是成长。
写页面的时候在chrome,fireforks等页面上显示正常,但是换成IE9之后就完全没有样式了。IE真是个奇葩的怪胎。它的报错信息是’CSS 因 Mime 类型不匹配而被忽略‘,也就是说所有的.css文件全部都不起效果了。去网上查了一些资料,有很多与这个问题相关的回答。

首先要明白Mine类型是个什么。MIME类型就是设定某种指定扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开,多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。与之相关主要的是web.xml文件。web.xml 是网络程序中的一个很重要的配置文件。当启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>这两个结点。

而在IE9的新安全机制中,要求web服务器返回的http 头信息中content-type必需写明css文件的MIME-type为'text/css',否则IE9不会将它作为css文件来处理。如果想要ie9也能正确的显示css文件定义的样式,需要修改服务器端返回给客户端的css文件的http header头信息中对应的mime类型。

如何修改返回的css MIME信息:

修正css 文件的返回mime信息有不同方法,一是修改服务器配置或者服务器程序,对于css文件输出正确的mine头信息。这个要对iis设置进行操作,对于自己的服务器来说可行,但对于使用虚拟主机的站长来说就不是和容易做到了,这里就不细说了。

另一种另类方法是,通过配置web.xml文件,要求服务器输出正确的css mine信息。

在web.xml加入内容:
复制代码
代码如下:

<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>

本文IE9 CSS因Mime类型不匹配而被忽略问题相关解答到此结束。人生那么短,为什么要让不重要的人,影响自我重要的心境。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例

CSS浮动引起的高度塌陷问题