1

我有一个使用 ASP.NET 构建的Intranet站点,该站点在呈现时始终以standards模式显示。使用开发人员工具栏时,我的网站使用“IE8 - Quirks Mode”完美运行。使用Standards模式时,它不会正确显示。

我看过十多篇关于将应用程序设置为Standards模式的帖子(例如:Override Intranet compatible mode IE8),但这些技术会使浏览器进入Standards模式。

这是否意味着Quirks是默认值?如果是这种情况,我的网站默认情况下不是在呈现,Quirks而是在Standards.

我也试过这个,它使它处于Standards模式:
<meta http-equiv="X-UA-Compatible" content="IE=8" />

我可以分配什么meta标签或其他技术来确保我的网站始终以IE 8 - Quirks 模式呈现?

4

2 回答 2

0

content="IE=8" 将使其使用 IE 8 标准。据我所知,要使用怪癖,请更改文档类型:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">"

或者完全忽略它

于 2013-09-25T15:23:08.183 回答
0

首先,您能做的最好的事情是尝试放弃对 Quirks 模式的要求。它不仅改变了页面布局,还关闭了所有现代浏览器功能。

如果您想使用这些现代功能中的任何一个,这会给您带来问题。(请注意,怪癖模式是一种 IE5 兼容模式,因此“现代功能”几乎意味着自 IE5 以来发明的任何东西!)。出于这个原因,如果可能的话,我强烈建议您考虑切换站点,以便它在标准模式下工作。

使用标准模式的主要原因是为了让您的代码适应未来。IE 的坏名声是由于旧版本和怪癖模式等功能,而在最近的 IE 版本中,微软正试图摆脱过去。如果将来某个时候怪癖模式从浏览器中消失,我不会感到惊讶。

此外,使用标准模式将允许您的站点在所有其他浏览器中正常工作。在 Quirks 模式下,您的网站只能在 IE 中正常运行。

好消息是,将网站从怪癖模式切换到标准模式通常比听起来要少得多。您需要了解的主要内容是 CSS 功能box-sixing。这允许您使用 quirks 模式布局模型,同时仍将站点保持在标准模式。

将以下内容添加到您的 CSS 中:

* {box-sizing:border-box;}

这有望解决您从怪癖模式切换到标准模式的大多数布局问题,并且应该允许您保持标准模式。

其余的布局问题很可能是由 IE5 中的错误引起的,这些错误已在后续 IE 版本中修复,但出于兼容性原因仍处于怪异模式。您可能需要手动修复这些问题。但希望他们不会太多。



好的,所以如果你还在阅读,我会假设以上内容对你来说还不够好,你确实想坚持使用 quirks 模式。

在 IE 中将网站置于 quirks 模式相当容易:只需删除 DOCTYPE 声明。

当 IE 看​​到一个没有 doctype 的站点时,它会自动假定它应该以 quirks 模式呈现它。

正如我所说,我强烈建议不要这样做,但如果你绝对必须这样做,那就是这样做的方法。

于 2013-09-25T15:30:32.247 回答