【问题标题】:Receiving "MSIE 7.0" in user agent string from IE8 browser NOT in compatibility mode?从 IE8 浏览器接收用户代理字符串中的“MSIE 7.0”不是在兼容模式下?
【发布时间】:2014-12-19 07:32:34
【问题描述】:

我们有用户使用 Internet Explorer 8 访问我们的 Web 应用程序,他们坚称他们没有启用兼容模式,但我们收到以下用户代理字符串:

“Mozilla/4.0(兼容;MSIE 7.0;Windows NT 6.1;Trident/4.0;...”

他们提供了屏幕截图以确认他们在 IE8 上,并且菜单中没有“检查”兼容模式。

为什么我们会从不处于兼容模式的 IE8 浏览器中获取 MSIE 7.0 引用?

【问题讨论】:

  • 您是否将他们发送到显示他们浏览器字符串的站点? IE8 对于它如何显示它是否处于兼容模式并不直观
  • 感谢@Machavity - 是的,我们创建了一个测试页面以在 php 中输出 $_SERVER['HTTP_USER_AGENT'] 的值,确认他们正在发送上面的用户代理字符串 - 包括 MSIE 7.0 参考。
  • 他们的屏幕截图显示“兼容性视图”在两个版本的工具菜单中都是灰色的,而不是复选标记 - 表明它没有在兼容性视图中运行。
  • 只是一般说明,测试用户字符串以执行特定于浏览器的操作正在迅速被弃用(MS 已从 IE11 开始在其用户代理中删除 MSIE)。

标签: php internet-explorer-8 ie8-compatibility-mode


【解决方案1】:

页面显示在兼容性视图(或类似模式)中的原因有很多。以下是我的一些想法:

  • 页面可能包含(或提供)与 x-ua 兼容的元素,其中包含“content=ie7”或类似值。

  • 可以使用默认兼容性视图的区域(例如 Intranet 区域)显示页面。

  • 页面 URL 可能列在 Microsoft 的兼容性视图列表中。

  • 用户可能设置了组策略以在兼容性视图中显示页面。

  • 该页面可能包含格式错误的 HEAD 部分,该部分会阻止应用与 x-ua 兼容的页内标头。

  • 该页面可能包含 Web 标记 (MOTW),该标记将其放置在默认启用兼容性视图的安全区域中。

如果没有关于应用程序或环境的更多信息,目前很难说其中哪些可能适用。

希望这会有所帮助...

-- 兰斯

【讨论】:

  • 谢谢兰斯!我可以控制该页面,我认为这不是问题,但我将进一步研究 Intranet 区域和组策略点。如果应用了组策略,用户是否仍会在浏览器的菜单中看到兼容性视图?或者,组策略和 Intranet 区域设置可能会强制兼容性,而不会在用户的浏览器中显示出来?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
  • 1970-01-01
  • 2022-12-14
  • 2012-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多