Internet explorer IE9开发者工具中的IE9兼容性视图是什么?

Internet explorer IE9开发者工具中的IE9兼容性视图是什么?,internet-explorer,internet-explorer-9,Internet Explorer,Internet Explorer 9,我正在看IE9开发工具,当我点击浏览器模式时,我会得到一个列表 IE 7 IE 8 IE 9 IE 9 Compatibility View 那有什么用?IE 9和IE 9兼容性视图之间有什么区别?主要区别在于用户代理字符串。对于Internet Explorer 9,将发送UA字符串: Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;WOW64;Trident/5.0) 对于兼容性视图,将发送类似于以下字符串的内容: Mozilla/4.0(兼容;MSIE 7

我正在看IE9开发工具,当我点击浏览器模式时,我会得到一个列表

IE 7
IE 8
IE 9
IE 9 Compatibility View 
那有什么用?IE 9和IE 9兼容性视图之间有什么区别?

主要区别在于用户代理字符串。对于Internet Explorer 9,将发送UA字符串:

Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;WOW64;Trident/5.0)

对于兼容性视图,将发送类似于以下字符串的内容:

Mozilla/4.0(兼容;MSIE 7.0;Windows NT 6.1;WOW64;Trident/5.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0;.NET4.0C;.NET4.0E;Zune 4.7)

注意兼容性视图UA字符串如何将浏览器标识为MSIE 7.0?文档模式不足以使兼容性视图按预期工作。原因是,如果你仍然告诉web服务器你正在运行IE 9,你就不能真正做到向后兼容——它可能有一些服务器端代码来识别IE 7浏览器,并提供特定于该浏览器的内容。因此,如果用户单击“兼容性视图”图标,开发人员工具将为您提供查看网页外观的机会,而无需永久打开兼容性视图

为了完整起见,还值得一提的是,应用程序版本字符串的更改方式与此类似。IE 9的应用程序版本字符串为:

5.0(兼容;MSIE 9.0;Windows NT 6.1;WOW64;Trident/5.0)

在兼容性视图中(可能因安装的软件而异):

4.0(兼容;MSIE 7.0;Windows NT 6.1;WOW64;Trident/5.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0;.NET4.0C;.NET4.0E;Zune 4.7)


这些字符串与UA字符串非常相似,但客户端脚本可能引用此字符串而不是UA字符串。IE 9仍然可以在UA字符串和应用程序版本字符串中从
Trident/5.0
部分识别出来,无论兼容模式如何。

原则上,9兼容性视图是MSIE 9的功能,但具有与MSIE 7兼容的某些备份功能。同样在原则上,7与MSIE 7相同,8与MSIE 8相同。但事实上,如果切换到7并返回到9兼容性视图,它的行为与仅在9兼容性视图中启动时有所不同。此外,7和原始MSIE 7.0之间也存在显著差异。因此,不可能对你的问题给出一个清晰、完整、准确的答案