IE8浏览器模式和标准模式

15

我需要强制IE8以以下方式显示:

  1. 浏览器模式: Internet Explorer 8

  2. 文档模式: IE8标准

我已经添加了此标记,但它只影响文档模式,而不是浏览器模式。如何覆盖浏览器模式,以确保页面始终以IE8浏览器模式显示?

<meta http-equiv="X-UA-Compatible" content="IE=8" />

1
浏览器模式是IE8兼容视图,但我需要它只是IE8。更改文档类型对此没有影响,但我注意到“在兼容性视图中显示Intranet站点”的兼容性视图设置被选中了。这是一个内部网站。 - user23048345
X-UA-Compatible 应该覆盖它。在<head>标签的哪里设置?它需要非常靠近顶部。 - Olly Hodgson
6个回答

12

只需为HTML页面正确添加doctype。例如:

<!doctype html>

如需解释和概述所有文档类型,请参见http://hsivonen.iki.fi/doctype/。您不一定需要那些(讨人厌的)元标头。


文档类型没问题,是IE8标准...但浏览器模式不对。 - user23048345
那么问题就在其他地方。您需要更详细地阐述它。您到底遇到了什么问题,您认为可以通过设置“浏览器模式”来解决?请相应地编辑您的问题。 - BalusC
我的网站在符合标准的浏览器中运行良好(已在Chrome、Firefox、Opera中测试通过),但IE是个噩梦。由于Web应用程序需要大量使用JavaScript,我们不支持IE7,并已为IE8标准模式进行了开发,因此我只需要它在IE8标准模式下显示即可。 - user23048345
1
严格的文档类型应该已经在标准模式下显示IE6/7/8。你的问题在其他地方。集中精力解决Javascript问题。在Javascript上下文中发布问题,而不是在Web浏览器上下文中。 - BalusC
8
答案是正确的,但他的问题可能是他在“页面”->“兼容性视图设置”下勾选了“显示本地网络站点时使用兼容性视图”的框,并且他正在通过本地网络查看它。我也遇到了同样的问题。 - Ruan Mendes
显示剩余2条评论

2
据我了解,您发布的元素告诉浏览器使用IE8模式。
使用严格的文档类型,例如或将告诉浏览器以标准模式呈现页面。
两者的组合将在IE8标准模式下呈现页面。

X-UA-Compatible元标记是<title>元素后的第一项吗? 它需要非常靠近<head>顶部才能产生任何效果。 - Olly Hodgson
1
此外,请查看“工具”>“兼容性视图设置”下的选项,确保它没有在兼容模式下运行所有“内部网”网站。 - Olly Hodgson
它正在兼容模式下运行所有内部网站,这是网络上所有PC的默认组策略设置。同时,是的,meta标签就在标题元素下方。 - user23048345

1
“这是不可能的,因为浏览器模式是在发送请求之前确定的。”
“没错,我阅读了微软的文档,如下所示:”
“一个重要的细节需要记住的是,在IE请求网页内容之前,浏览器模式就已经被选择了。这意味着网站不能选择浏览器模式。相反,网站开发人员选择一个文档模式来覆盖IE的默认设置,并声明网站的呈现方式。”
“但出于某种原因,如果浏览器处于IE-8兼容视图下,我的函数无法正常工作。即使我已经正确地将文档模式设置为IE8标准。”

1

这是不可能的,因为浏览器模式是在发送请求之前确定的。


1
问题在于开发人员和微软之间的历史战争,以及微软可怕糟糕的SharePoint产品线。这里有一些历史http://www.siolon.com/blog/ie-8-compatibility-mode-and-sharepoint/。(不是我的网站)基本上,IE默认情况下以兼容模式呈现所有Intranet网页,因此强制所有Intranet站点不比IE7更好。他们可能这样做是因为SharePoint不符合Web标准,而微软希望他们的产品在企业Intranet站点上表现良好,因为SharePoint已经深入人心。我目前正在处理一个SharePoint网站上的这个问题。SharePoint使用SharePoint:CssLink标记根据浏览器动态加载css文件。因此,虽然我们的网站设计适用于IE9,但IE7.css样式表被发送到页面,因为浏览器将自己报告为IE7浏览器。在我看来,唯一的解决方案是不使用IE或考虑IE进行设计,或者不使用SharePoint。如果微软被迫使用Web标准来获得其平台的流量,那么我们可能会让他们改变。

0
如果您只需要更改本地显示方式,可以使用开发人员工具。按F12键(或从“工具”菜单中选择“开发人员工具”)。其中将有“浏览器模式”和“文档模式”的菜单项。更改是动态的,我相信它将在会话的生命周期内保持不变。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接