Windows 7 中的 ASP.NET 项目和 IE10 兼容模式问题

Posted

技术标签:

【中文标题】Windows 7 中的 ASP.NET 项目和 IE10 兼容模式问题【英文标题】:ASP.NET Project and IE10 Compatibility Mode issues in Windows 7 【发布时间】:2013-08-11 13:13:27 【问题描述】:

我有一个许多客户都在使用的 asp.net 网站。我最近有一个客户切换到Win7和IE10。他告诉我,每当他尝试查看我的网站时,都会提示他进入兼容模式。我试图在我的实验室中用 IE10 在几个 Win7 机器上重现这一点。没有运气。

所以我有几个问题:

有没有人见过 IE10 在 Win7 上选择性地提示兼容模式? 只将浏览器配置为始终使用兼容模式有什么缺点?

谢谢。

【问题讨论】:

【参考方案1】:

这种情况经常发生,不仅在 IE 10 上,在 IE 9 上也是如此。就我而言,最好退出兼容模式,因为它经常会破坏您的页面外观和功能。

很好的解决方案 - 使用您网站的 web.config:

<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>

(在 web.forms 项目中使用)。

或 global.asax

protected void Application_BeginRequest()

    Response.AddHeader("X-UA-Compatible", "IE=edge");

(在我的一个 MVC 项目中使用它)。

这里是关于兼容模式的好回复:

Why does IE9 switch to compatibility mode on my website?

【讨论】:

我认为在短期内我将简单地更改这个客户端的兼容性模式设置,但一旦我可以真正在我身边重现它,我就会这样做 X-UA-Compatible诸如此类。【参考方案2】:

如果您尝试在 Intranet 中使用部署重现错误,IE 可能会默认您的设置(我假设用户与您的部署不在同一个 Intranet 上)。您可以在 IE 中进行设置(按 Alt+T 进入工具菜单)工具>兼容性视图设置。

这在过去帮助过我解决此类问题,尽管我也很高兴看到其他人的答案。

【讨论】:

优秀的评论。我没有想到这一点。果然,我的 Intranet 站点强制进入兼容模式。不幸的是,当我关闭它时,我仍然没有收到兼容模式的提示。

以上是关于Windows 7 中的 ASP.NET 项目和 IE10 兼容模式问题的主要内容,如果未能解决你的问题,请参考以下文章

密码保护 IIS 7.5 中的 ASP.NET Web 应用程序

IIS 7.5、ASP.NET、模拟和访问 C:\Windows\Temp

使用 Windows 7 x64 将 ASP.NET 与 Access 数据库 2010 连接

《ASP.NET5》Windows 7下Visual Studio 2015安装记录

在 Windows 7 上带有 websockets 的 asp.net 5 Web 应用程序

在 IIS 7.5 和 Windows Server 2008 R2 下为 ASP.NET 授予对联网 UNC 文件夹的写入权限