我在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了解Mime类型并让它正确加载。
非常感谢任何帮助。
修改
根据建议,还检查了HKEY_CLASSES_ROOT中.css的注册表值,这似乎没问题,如下所示:
此外,确保没有任何程序与CSS相关联。
答案 0 :(得分:1)
这是因为在默认设置下,IIS不会安装“静态内容”。
要在Windows Server 2008计算机上启用此功能,请执行以下操作
答案 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)
<!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.