Php “接收”;MSIE 7.0“;IE8浏览器中的用户代理字符串不在兼容模式下?

Php “接收”;MSIE 7.0“;IE8浏览器中的用户代理字符串不在兼容模式下?,php,internet-explorer-8,ie8-compatibility-mode,Php,Internet Explorer 8,Ie8 Compatibility Mode,我们有用户使用Internet Explorer 8访问我们的web应用程序,他们坚持认为他们没有启用兼容模式,但我们收到以下用户代理字符串: “Mozilla/4.0(兼容;MSIE 7.0;Windows NT 6.1;Trident/4.0;…” 他们提供了屏幕截图,以确认他们都在IE8上,并且菜单中没有“选中”兼容模式 为什么我们要从一个不处于兼容模式的IE8浏览器中获取MSIE 7.0引用?页面可能会显示在兼容视图(或类似模式)中的原因有很多。下面是我脑海中的一些想法: 该页面可能包

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

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

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


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

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

  • 该页面可能包含(或提供)一个x-ua兼容元素,该元素包含“content=ie7”或类似值

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

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

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

  • 页面可能包含格式不正确的页眉部分,该部分阻止应用与页面内x-ua兼容的页眉

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

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

希望这有助于


--Lance

您是否已将他们发送到显示其浏览器字符串的网站?IE8无法直观地显示其是否处于兼容模式感谢@Machavity-是的,我们创建了一个测试页面以输出$服务器['HTTP\U用户\U代理]的值在php中,他们确认发送了上面的用户代理字符串-包括MSIE 7.0参考。他们的屏幕截图显示“兼容视图”在两个版本的“工具”菜单中都灰显,而不是复选标记-表明它没有在“兼容视图”中运行。只是一个一般性说明,测试用户字符串以执行浏览器特定的操作是r很快就被弃用了(从IE11开始,MS已经在其用户代理中删除了MSIE)。谢谢,兰斯!我可以控制页面,我不认为这是一个问题,但我将进一步研究内部网区域和组策略点。如果应用了组策略,用户不会仍然在浏览器的菜单中看到勾选的兼容性视图吗?或者组策略和内部网区域设置可能是无效的强制兼容而不在用户浏览器中显示?