![为什么有些IE10浏览器会卡在IE7模式?](https://linux22.com/image/1362101/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9C%89%E4%BA%9BIE10%E6%B5%8F%E8%A7%88%E5%99%A8%E4%BC%9A%E5%8D%A1%E5%9C%A8IE7%E6%A8%A1%E5%BC%8F%EF%BC%9F.png)
我们正在对面向消费者的网站上的用户会话进行一些调查,发现了一些令我非常不安的事情。
平均每天,我们的网站大约有 14 万名访问者,他们会费心发送用户代理字符串(大多数表明身份的机器人和爬虫都不会记录他们的会话信息,因此其中绝大多数都是真人)。
其中约有 45000 个是 Windows 7(UA 包含“NT 6.2”),约有 4000 个表示浏览器是 IE7。
其中约有 5000 个是 Windows 8(UA 包含“NT 6.2”)。
大约有 200 个 Windows 8 用户会话表示他们正在运行 IE7!
现在,Windows 7 最初附带 IE8,您无法安装 IE7。Windows 8 附带 IE10,您无法安装 IE7。
我知道这是怎么发生的;在 IE9 和 IE10 中,这两者都可能导致浏览器表现并识别为不同的版本。
- 用户通过开发者工具手动更改浏览器模式。(我们的 4% 用户甚至不知道开发者工具是什么,更不用说定期切换浏览器模式了。)
- 用户前往工具→兼容性视图对话框并选中“以兼容模式显示所有网站”复选框。
问题是:为什么?
对于普通用户故意做出这种可恶行为,我唯一可能的解释是,一些外部权威人士告诉他们这样做或为他们做了这件事:系统管理员这样做是为了处理典型的糟糕的商业内联网/门户网站或他们经常访问和依赖的第三方网站(银行?打消这个念头) 弹出一个页面,提示他们必须采取以下完全安全的步骤才能使用他们的出色应用程序。
即使考虑到这种完全合理的情况,Windows 7 和 Windows 8 用户分别 10% 和 4% 的比例似乎也非常高。
是否有其他进程(例如 IE 本身发出的内部帮助或故障排除提示)来告诉用户永久启用兼容模式?IE 是否有其他方法可以自动更改此设置?我对这个问题非常好奇。
答案1
确保您的页面实现了适当的X-UA 兼容性元标记。
类似的事情<meta http-equiv="X-UA-Compatible" content="IE=7" />
可能会导致您所看到的情况。
StackOverflow 上的一些相关信息:如何强制 IE10 以 IE9 文档模式呈现页面
此外,IE 的兼容模式可以通过域策略强制执行,因此用户无法控制它。