【问题标题】:Using X-UA-Compatible to emulate IE9 in corporate setup在企业设置中使用 X-UA-Compatible 模拟 IE9
【发布时间】:2015-07-07 17:45:03
【问题描述】:

我一直在阅读有关 IE 中的文档类型模拟和兼容模式的信息,不得不说它有点让人摸不着头脑。

我开发了一个带有 Bootstrap 3 和 Ember 的应用程序,通过菜单控制渲染几个页面。

我在所有浏览器、Webkit、Moz 和 IE 中都对此进行了测试,一切看起来都很完美。我在一家大公司工作,所以当我决定在一些同事的电脑上测试它时,在 IE 上,我得到了一个空白页。现在我发现这很奇怪,因为它们都在运行 IE10 或 IE11,尽管有奇怪的 IE9。我无法理解它,因为它在我的 IE 上完美呈现。

所以无论如何,我开始在他们的浏览器上按 F12 并意识到他们中的许多人都在模拟 IE7,即使他们运行的是 IE10 或 11。

我阅读了一些关于这个问题的信息,我发现了以下内容:

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

所以我继续将此行添加到我的页面中,如下所示:

<!DOCTYPE html>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />

现在我的问题是:我是否正确假设如果在工作中使用 IE 时设置了某种组策略,那么这种解决方法可以解决问题?

我明天早上会做一些测试,但只是想知道这是否正确?

很多人在工作中使用 Chrome 和 Firefox 或任何他们想要的东西,但显然有不少人使用 IE。

【问题讨论】:

  • 我相信组策略会赢。我有一个 Intranet 应用程序的问题,即选中了“为 Intranet 应用程序启用兼容模式”复选框。 Http 标头,元标记,没有任何效果。我们不得不取消选中该框。

标签: html internet-explorer x-ua-compatible


【解决方案1】:

请注意,当前组策略设置为启用兼容模式(可能是某些其他 Intranet 应用程序)并且如果您禁用它,其他应用程序可能会停止工作(或呈现不佳),这一定是有原因的。如果管理员已将其配置为具有兼容性视图列表的方式,那么您很幸运,因为您需要做的就是不将 Web 应用的 URL 包含到该列表中。

https://msdn.microsoft.com/en-us/library/ie/gg622935(v=vs.85).aspx

至于文档模式,我建议你改用这个:

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

将版本设置为 'IE=edge' 告诉 Internet Explorer 使用 渲染页面和执行 JavaScript 的最新引擎。

https://www.modern.ie/en-us/performance/how-to-use-x-ua-compatible

您想要“IE=EmulateIE9”的唯一原因是您的应用针对的是旧版文档模式,在您的情况下它不是因为您使用的是最新的 Web 框架。我假设您希望为您的用户提供最佳的 UI 体验。

我了解在您的情况下,IE 版本会有所不同,并且有些版本可能不支持“IE=edge”。它会很好,因为它将回退到支持的最高文档模式。例如,IE=9、IE=Edge 或 IE=EmulateIE9 的 IE8 会导致 IE8 模式。

https://msdn.microsoft.com/en-us/library/ff405771(v=vs.85).aspx

【讨论】:

    【解决方案2】:

    IE 对不同类型的内容使用不同的security zones。来自 Internet 的内容被加载到 Internet 区域。来自本地网络的内容被加载到 Intranet 区域中。如果您通过 Internet 选项,您可以看到有不同的security settings 应用于各个区域。

    如果您通过网络部署应用程序,那么您的应用程序可能会在 Intranet 区域中加载应用程序(右键单击该页面,然后选择“属性”进行确认)。

    默认情况下,IE在兼容性视图中加载内网页面,这与使用EmulateIE7作为x-ua-compatible元素的内容值相同。这意味着,如果没有额外的标记/更改,您的应用程序将被视为在 IE7 中查看。

    如果您需要特定的文档模式,您应该能够直接在内容值中指定该模式,例如,content="ie=9"。如果这没有帮助,请尝试adding an MotW 到该页面,以便在 Internet 区域中加载该页面。反过来,这应该允许 x-ua 兼容设置生效。

    您还可以更改Compatibility View Settings,前提是它们没有通过 GPO 禁用,这样 Intranet 页面就不会在兼容性视图中自动加载。

    希望这会有所帮助...

    -- 兰斯

    【讨论】:

    • 嗨。谢谢大家的cmets,它真的很有帮助。请注意 - 尽管该应用程序最终将在服务器/内联网上运行,但我是从 USB 记忆棒测试它,即只是打开 html 文件而不是从服务器上运行它。 (ember 允许您这样做)。
    • U 盘仍将被视为本地文件资源;您将获得 Intranet 区域或本地文件区域(取决于 IE 版本)。点是一样的;它仍然是一个单独的安全区域,并且(可能)将被视为与 Intranet 类似,因此这些建议仍然适用。 (存在差异,但我认为这里不值得一提。)
    猜你喜欢
    • 2011-03-25
    • 1970-01-01
    • 2012-02-03
    • 2013-02-20
    • 2011-08-10
    • 1970-01-01
    • 2015-10-21
    • 2016-02-19
    • 2014-01-11
    相关资源
    最近更新 更多