【问题标题】:How to avoid ie8 compatibility button?如何避免ie8兼容按钮?
【发布时间】:2010-10-12 19:55:07
【问题描述】:

在 IE8 中,微软引入了一种称为兼容模式的新模式,它可以像 IE7 一样呈现页面。

您可以在 stackoverflow.com 的地址栏旁边看到此按钮。但是当您访问 google.com/live.com 时,您不会看到兼容模式按钮。我们如何确保页面不会向用户显示此按钮?

【问题讨论】:

    标签: html internet-explorer-8


    【解决方案1】:

    我遇到了兼容性视图问题,结果发现我的一些 PHP 文件以 UTF-8 字符编码保存,我猜这让 IE 感到困惑。大多数站点文件都保存在代码页 1252 中。

    现在,我将所有文件设置为另存为“西欧 (Windows) - 代码页 1252”,然后我的显示问题就消失了。

    这里的教训是,不要混合你的字符编码。

    【讨论】:

      【解决方案2】:

      以下链接在 IE 中运行良好,并且可以正确显示菜单栏 http://line25.com/wp-content/uploads/2012/css-menu/demo/index.html

      但相同的内容托管在 Intranet 上,所有链接都显示在另一个下方,而不是菜单栏。地址栏中未显示兼容性视图按钮。

      以下更改后,菜单栏正确显示,地址栏中显示兼容性视图按钮。

      工具->兼容性视图设置->取消勾选“在兼容性视图中显示内网站点”

      非常感谢您提供宝贵意见

      【讨论】:

        【解决方案3】:

        根据这个全面的MSDN article on Compatibility View,以下列表描述了启用兼容性视图的不同方式:

        • 查看网页时单击地址栏中的“兼容性视图”按钮。显示时,此按钮出现在“刷新”按钮的左侧,并包含一张碎纸的图像。这将为正在查看的网站域中的所有文档启用兼容性视图。
        • 兼容性视图设置中的“以兼容模式显示所有网站设置”已启用。
        • “使用兼容性视图自动从页面布局错误中恢复”设置已启用,网页停止响应或浏览器崩溃。发生这种情况时,Internet Explorer 会在从问题中恢复后在兼容性视图中打开该页面。
        • 标识要在兼容性视图中打开的网站的组策略由您的计算机管理员启用。
        • 您已使用 F12 开发人员工具更改了浏览器模式,以将 Internet Explorer 识别为浏览器的早期版本。
        • 兼容性视图列表已启用,它定义了自动显示在兼容性视图中的网站列表。

        要避免/禁用/覆盖兼容性视图,您必须执行上述建议的相反操作。

        The Compatibility View list is an XML file maintained by Microsoft.

        从兼容性视图列表中删除您的网站(或提出争议) 从列表中删除您的网站),拥有整个网站所有者 验证域站点是否出现在兼容性视图列表中。如果 确实如此,向 iepo@microsoft.com 发送一封电子邮件,其中包含 以下信息:

        所有者名称公司名称公司名称街道地址电子邮件地址 电话号码 网址

        Microsoft 将审核提供的信息并删除您的网站 从下次计划更新时的兼容性视图列表中。

        【讨论】:

          【解决方案4】:

          简答:

          把它放在你的 head 标签中告诉浏览器你的页面在 IE 8 中工作:

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

          另外根据 Jon Hadleys 的评论,为确保使用最新的(不仅仅是 IE8)渲染引擎,您可以使用以下内容:

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

          【讨论】:

          • 为确保使用最新的(不仅仅是IE8)渲染引擎,添加以下内容:&lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
          • 只想补充一点,标题中元素的顺序很重要。来自 MSDN:“......它必须出现在网页的标题中(HEAD 部分),位于除标题元素和其他元元素之外的所有其他元素之前。” msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx
          • @kaptan:很好的补充。由于浏览器模式会影响脚本和 CSS 的工作方式,因此它必须排在它们之前是合乎逻辑的。
          • 您还可以添加 chrome=1 以防访问者使用 Google 的 Chrome Frame:&lt;meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"&gt;。模式详解见this stackoverflow answer
          【解决方案5】:

          如果启用了“在兼容性视图中显示 Intranet 站点”或“在兼容性视图中显示所有网站”设置(位于工具 -> 兼容性视图设置下)(因为它们与正在查看的网站相关),那么无论如何您在文档的 HTML 中,页面将总是被放入某种形式的兼容性视图中。

          这意味着,即使在文档中,您仍然会注意到该页面被置于兼容性视图中,不幸的是,除了禁用这些设置之外,您无能为力。

          【讨论】:

          • 当然应该有一些例外,这仍然意味着我们必须测试兼容模式的真/假! :-( 感谢您的信息
          【解决方案6】:

          来自here

          有时是兼容性视图 按钮不显示。

          按钮位于地址上 “停止”和“刷新”旁边的栏 纽扣。有几种情况 用户无需采取任何行动,并且, 因此,兼容性视图按钮 不会显示:

          如果您正在查看 内部到 Internet Explorer 页面 (如关于:InPrivate)

          如果您正在查看的页面已声明为 Internet Explorer 8 的“准备就绪” 通过使用版本控制 标记/HTTP 标头(没关系 如果这个标签触发 Quirks,IE7 标准或 IE8 标准, 按钮不会显示)

          如果您正在查看 Intranet 页面并且您有 '在中显示 Intranet 站点 “兼容性视图”复选框已选中 如果您正在查看任何网页并且您 有“显示所有网站在 “兼容性视图”复选框已选中

          如果您正在查看的网页是 包含在 Microsoft 提供的 兼容性视图更新列表和 你有“包括更新的网站 来自 Microsoft 复选框的列表 已选中

          如果您切换了 “文档模式”或“浏览器模式” 通过开发者工具栏设置

          因此,您可能在关注版本控制标签/HTTP 标头,该标头在该博客文章中以及here 中进行了更详细的描述。

          【讨论】:

          • 现在微软依靠员工个人博客来获取文档不是很好吗?在 Google 上搜索,我得到的只是冗长而过时的博文。
          • 博客在 Google 的搜索结果中似乎占有很高的比重。公平地说,我在此处引用的博文本质上是指向适当 MSDN 文章的一个大链接,因此确实存在正式文档。
          猜你喜欢
          • 2012-01-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-31
          • 1970-01-01
          • 1970-01-01
          • 2017-05-23
          相关资源
          最近更新 更多