当前位置 : 主页 > 网页制作 > css >

css – 尽管有mime类型,样式表仍未在IE 9中加载

来源:互联网 收集:自由互联 发布时间:2021-06-13
我有一个使用捆绑和缩小的MVC 4应用程序.该应用程序在IE 11,Chrome和其他浏览器上100%正确,但使用IE9时样式表不会呈现. 我在web.config的system.webserver部分添加了以下内容 staticContent remove
我有一个使用捆绑和缩小的MVC 4应用程序.该应用程序在IE 11,Chrome和其他浏览器上100%正确,但使用IE9时样式表不会呈现.

我在web.config的system.webserver部分添加了以下内容

<staticContent>
  <remove fileExtension=".css"/>
  <mimeMap fileExtension=".css" mimeType="text/css"/>
</staticContent>

当使用IE的开发人员工具时,似乎mime类型是正确的

如果mime类型是正确的并且所有样式表似乎都加载了,为什么它不会渲染?

旁注:我也使用Twitter Bootstrap 3和FontAwesome,不确定这是否会导致问题.

更新:

当我使用fiddler时,我可以看到mime类型仍然设置为text / css;字符集= utf-8的

好的,最终发现了问题.这不是mime类型的问题,我希望这可以节省几个小时. IE9将css文件的大小限制为大约250kb,因为我正在使用捆绑和缩小我的一个css包超过此限制并且文件被截断,导致某些样式未被应用.

修复相当容易,例如,我将css包拆分为两个包

bundles.Add(new StyleBundle("~/Bundles/Shared/CSS").Include(
            "~/Content/bootstrap/bootstrap.min.css",
            "~/Content/font-awesome.min.css",
            "~/Content/silviomoreto-bootstrap-select/bootstrap-select.min.css",
            "~/Content/kendo/kendo.common.min.css"));

  bundles.Add(new StyleBundle("~/Bundles/SharedTwo/CSS").Include(
            "~/Content/datepicker/css/datepicker.css",
            "~/Content/kendo/kendo.bootstrap.min.css",
            "~/Content/bootstrap-touchspin-master/libraries/prettify/prettify.css",
            "~/Content/bootstrap-touchspin-master/libraries/prettify/demo.css",
            "~/Content/css/Shared/Index.css"));
网友评论