IE和Edge的网站CSS加载问题

时间:2016-12-27 14:35:57

标签: html css asp.net-mvc internet-explorer

我在Chrome,Firefox,Safari等网站上运行得非常好。但是,CSS不会在Internet Explorer(任何版本)以及MS Edge浏览器中加载。

控制台显示与MIME类型相关的臭名昭着的错误:

SEC7113: CSS was ignored due to mime type mismatch
File: application-2015-2a0565839ee60a029c49fc918e3625e9.css
SEC7113: CSS was ignored due to mime type mismatch
File: CustomCss.css
SEC7113: CSS was ignored due to mime type mismatch
File: print.css

我已经检查了代码,这就是<head>

中的情况
// ASP.NET MVC code - .cshtml layout file
<link href='@Url.Content("/Content/application-2015-2a0565839ee60a029c49fc918e3625e9.css")' media="screen" rel="stylesheet" type="text/css"/>
<link href='@Url.Content("/Content/CustomCss.css")' media="screen" rel="stylesheet" type="text/css"/>
<link href='@Url.Content("/Content/2015/print.css")' media="print" rel="stylesheet" type="text/css"/>

我已经检查过IE开发者工具,并且css确实在IE中返回了错误的MIME类型(显示为空白)而不是Chrome或Firefox中的样式表或text / css:

IE: enter image description here

铬: enter image description here

我已在IIS中检查过.css的mime类型按预期映射: enter image description here

如何让IE了解Mime类型并让它正确加载。

非常感谢任何帮助。

修改

根据建议,还检查了HKEY_CLASSES_ROOT中.css的注册表值,这似乎没问题,如下所示: enter image description here

此外,确保没有任何程序与CSS相关联。

4 个答案:

答案 0 :(得分:1)

这是因为在默认设置下,IIS不会安装“静态内容”。

要在Windows Server 2008计算机上启用此功能,请执行以下操作

  1. 启动服务器管理器

  2. 在“角色”下选择“Web服务器” - 请注意“未安装静态内容”

  3. enter image description here

    从右侧菜单中选择添加角色服务

    enter image description here

    检查静态内容并安装

    我认为它适合你

答案 1 :(得分:1)

事实证明,有一个HTTP模块是它的根本原因,因为它证明是ASP.NET,IIS和HTTP模块的已知问题,如下所述: ASP.NET CSS file not loaded when adding HttpModule to web.config

在此之后并在Http模块中明确地为css处理,解决了这个问题。

感谢大家抽出时间并提供专家意见

答案 2 :(得分:0)

看起来你已经尝试过似乎对其他人有用的一切。

尝试通过ASP.NET框架将输出设置为mime类型:

Response.ContentType = "text/css";

您是否使用加载功能进行过测试?

Response.ContentType = "text/css"
Response.AddHeader("Header")
Response.WriteFile("CSS File.css")
Response.End()
Response.Clear()

答案 3 :(得分:0)

你应该检查这些东西,因为如果IE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

type="text/css" instead of type="css/stylesheet" when importing the stylesheet.