【问题标题】:SEC7113: CSS was ignored due to mime type mismatch - ASP.NET MVCSEC7113:由于 mime 类型不匹配,CSS 被忽略 - ASP.NET MVC
【发布时间】:2012-09-11 19:36:42
【问题描述】:

在我的 ASP.NET MVC 应用程序中,我通过以下方式添加 CSS 和 JavaScript 文件:

@Script.AddCss("~/Content/css/style2.css", siteWide: true)
@Script.AddCss("~/Content/css/tipsy.css", siteWide: true)

@Script.AddJavaScript(localPath: "~/Content/js/modernizr-2.5.3.js", siteWide: true)
@Script.AddJavaScript(localPath: "~/Content/js/jquery/jquery.datatables.js", siteWide: true)

输出如下所示:

@Script.OutputCss()

对于 JavaScript 来说几乎是一样的:

@Script.OutputJavaScript()

然后模板引擎将所有文件组合成 AXD 文件,并放入保留 content-type 的页面源中。

这在所有浏览器中都可以正常工作,但在 IE9 中则不行。有时样式表未加载,控制台中会出现以下错误消息:

SEC7113: CSS was ignored due to mime type mismatch 
scripts.axd?type=Stylesheet&hash=74A0F67DE9D74AFCDAE1AA539EA11099

除此之外,当您查看“网络”选项卡时,AXD 文件被加载了两次——2 个 AXD 文件用于 CSS,2 个 AXD 文件用于 JavaScript。每个文件之一的权重为 0 字节。这种情况并不总是发生,但只是偶尔发生,但过于频繁。

谁能帮我就问题出在哪里提供建议?

先谢谢你。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-3 razor


    【解决方案1】:

    由于 MIME 类型不匹配 css 在 ie 9 和 10 中被忽略。MIME 类型可以通过名为FIle TypesMan 的实用程序来纠正它是由 NirSoft 创建的免费软件。事实证明,.css 的 MIME 类型已更改为 text/plain,从而阻止了 ie 渲染我的样式。使用 FileTypesMan 将其改回 text/css 解决了问题。

    1. 从 NirSoft 站点下载 FileTypesMan。使用页面底部附近的链接为您的操作系统选择正确的版本(32 位、64 位和 Windows 98/ME 有不同的版本)。
    2. 将文件解压到本地文件夹,然后双击 FileTypesMan.exe。
    3. FileTypesMan 列出所有文件类型后,在顶部窗格中向下滚动以找到 .css。
    4. 双击编辑设置。
    5. 在打开的对话框的 MIME 类型字段中将值更改为 text/css。
    6. 单击确定。任务完成。 IE 10 现在应该可以自己运行了(至少就呈现样式表而言)。

    【讨论】:

    • 如果还有人遇到这个问题。仔细检查 css 文件是否存在并且不返回 404 或 500。该程序也很棒。
    • 要修复查看离线/本地文件,请在此处的注册表项中将内容类型更改为 text/css:HKEY_CLASSES_ROOT\.css
    【解决方案2】:

    在 IE9 中,当原始页面不在受信任区域中时,您需要为跨域样式表使用 text/CSS MIME 类型。当起源于受信任区域时,它应该在没有 text/CSS MIME 的情况下工作,这可能是您有时会遇到问题的原因。

    因此,请确保您的页面指令中存​​在 ContentType 声明:

    <%@ Page Language="C#" ContentType="text/css" %> 
    

    希望这是问题所在。

    【讨论】:

    • 你能澄清一下你指的是哪个页面吗? CSS 文件实际上是物理的 .css 文件,并由模板引擎构建到 .axd 文件中。在这种情况下,我应该将该指令放在哪个页面中?除此之外,CSS文件在同一台服务器上,所以没有跨域请求。
    猜你喜欢
    • 2013-10-05
    • 2013-03-14
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 2013-05-04
    相关资源
    最近更新 更多