asp.net 网站中的哪些内容可以阻止 html 页面以怪异模式打开?

问题描述 投票:0回答:2

我们使用 IIS8 作为我们的 Web 服务器。我们有一个旧的 html 页面,当位于虚拟目录中时,它会在 ie10 中以怪异模式(这正是我们想要的)呈现。它没有强制怪异模式的标签。如果页面是从 ASP.NET 网站的文件夹内呈现的,则它不会以怪异模式呈现,因此呈现不正确。

我们假设我们已经更改了网站配置中的某些内容,默认情况下会阻止页面以怪异模式呈现。谁能建议这可能是什么?

为了避免写一篇关于我们为什么要做我们正在做的事情的文章,我只想说,我们不希望更改 html 页面来强制怪异模式,或者实际上以任何方式更改它。确定哪些更改导致页面默认情况下不以怪异模式呈现并在应用程序安装程序中进行更改以自动更改客户的网站将非常方便。

编辑: 我忘了提及,在这两种情况下我都使用兼容模式。

编辑2: 我们现在的目标是 .net 4.5,我在网上读到了一些内容,其中提到禁用怪异模式。

编辑3: 看来我们在这个问题变得明显之前就切换到了 4.5。

编辑4: 答案是双重的。在 Andrew Morton 评论的提示下,我对 X-UA-Compatible 进行了全局搜索,并找到了 Response.AddHeader("X-UA-Compatible", "IE=edge");在 Application_BeginRequest 处理程序中。然而,这比问题早了几年。一定是最近发生的一些其他变化与此结合造成了这种效果。无论如何,我们已经在这方面花费了足够的时间,并决定在 html 中添加一个标签来强制使用怪异模式。

asp.net asp.net-mvc quirks-mode
2个回答
2
投票

来自 IE 博客

IE10 的 HTML5 怪异模式用于没有 DOCTYPE 或具有 HTML5 中定义的旧 DOCTYPE 的页面。

这意味着导致 Quirks 模式的唯一原因是页面本身。如果您不想更改它,则无法强制使用 Quirks 模式。没有服务器端修复此问题。都是客户端。


0
投票

我现在在 MVC 5 中遇到了这种情况。视图打开得很好,最初不是在怪异模式下。然后,在转到另一个视图、从该视图执行数据库操作并随后返回到第一个视图之后,该视图现在陷入怪异模式,并且缺少 html 标记中的 !DOCTYPE 部分。有什么解决办法吗?

© www.soinside.com 2019 - 2024. All rights reserved.