【问题标题】:What is IE9 compatibility view in IE9 Developer tools?什么是 IE9 开发者工具中的 IE9 兼容性视图?
【发布时间】:2011-03-28 22:01:17
【问题描述】:

我正在查看 IE 9 开发人员工具,当我点击浏览器模式时,我得到一个列表

IE 7
IE 8
IE 9
IE 9 Compatibility View 

那有什么作用? IE 9 和 IE 9 兼容性视图有什么区别?

【问题讨论】:

    标签: internet-explorer internet-explorer-9


    【解决方案1】:

    main 的区别在于 User-Agent 字符串。对于 Internet Explorer 9,发送 new and improved UA 字符串:

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

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

    Mozilla/4.0 (compatible; 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 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

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

    4.0 (compatible; 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 仍然可以在 Trident/5.0 部分的 UA 字符串和应用程序版本字符串中识别。

    【讨论】:

      【解决方案2】:

      原则上,9 Compatibility View 是 MSIE 9 的特性,但备份了某些功能以兼容 MSIE 7。同样原则上,7 与 MSIE 7 相同,8 与 MSIE 8 相同。但是事实上,如果您切换到 7 并返回到 9 兼容性视图,它的行为与刚从 9 兼容性视图开始有所不同。此外,7 和原始 MSIE 7.0 之间存在显着差异。因此,不可能对您的问题给出清晰完整和准确的答案。

      【讨论】:

        猜你喜欢
        • 2012-03-03
        • 1970-01-01
        • 2012-09-23
        • 1970-01-01
        • 2013-06-02
        • 1970-01-01
        • 2012-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多