FEATURE_BROWSER_EMULATION及IE “浏览器模式”和“文档模式”

目录

参考:

一、FEATURE_BROWSER_EMULATION

二、IE “浏览器模式”和“文档模式”


参考:

小心IE9|IE10|IE11渲染模式下的DOM操作。FEATURE_BROWSER_EMULATION_路过已错过的博客-CSDN博客

修改WebBrowser控件的内核解决方案 - 新技术动态 - 博客园

IE “浏览器模式”和“文档模式”的区别

一、FEATURE_BROWSER_EMULATION

There are two different sets of keys for 32 bit and 64 bit applications.

32 bit:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

Value Key: yourapplication.exe

64 bit:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

Value Key: yourapplication.exe

The value to set this key to is (taken from MSDN here) as decimal values:

9999 (0x270F)
Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.

9000 (0x2328)
Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.

8888 (0x22B8)
Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.

8000 (0x1F40)
Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.

7000 (0x1B58)
Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.     

大家在使用IE控件来让用户浏览网页的时候,一般都会添加FEATURE_BROWSER_EMULATION注册表项,来让IE内核版本支持更高(不加默认最高IE7),从而达到更好的体验,如,拖动不卡,支持渲染,GPU加速等。

注:

1. 标准模式指的是浏览器模式,而!DOCTYPE控制的是文档模式。(Html代码中可以通过"X-UA-Compatible"设置文档模式)

在html头 加标签 强制使用最新的ie渲染 <meta http-equiv="X-UA-Compatible" content="IE=edge">
强制使用最新的ie8渲染<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>

2. 应用程序中包含的WebBrowser Control控件时,默认WebBrowser使用的是IE7,这是个很重要的知识点。

二、IE “浏览器模式”和“文档模式”

        “浏览器模式”控制浏览器发出的UserAgent,它表示以哪个版本的浏览器发出请求。“文档模式”控制页面的排版引擎以哪个版本的方式来解析并渲染网页代码。

        从IE8浏览器开始,微软向 Web 标准进行靠拢,以便让各种浏览器可以更好的兼容网站中使用的代码,开发人员不用花太多精力使用不同的方法在各种的浏览器上实现自己需要的效果,用户也可以更自由的选择使用自己喜欢的浏览器。 之前的IE6IE7为了实现更多的功能,其代码规范与 W3C 的标准有许多出入,由于IE的市场占有率一直远超过其他浏览器,所以绝大多数的网站开发人员都会按照 IE6/7 的规范来编写代码。这样,在新的IE8中,网页就有可能像其他浏览器一样,出现显示不正常等水土不服的情形。 为了解决这样的问题,IE8浏览器增加了一种叫做“兼容性视图”的功能,可以让网页以IE6/7的代码规范来显示,这样,就能够很好的解决大部分由于代码标准不一致引起的网页问题。 而“兼容性视图”涉及两个重要的功能便是“浏览器模式”和“文档模式”,本文将简单的介绍这两个模式的区别。 在IE8中按F12键,打开“开发人员工具”,在菜单栏中可以看到“浏览器模式”和“文档模式”的切换菜单,其中可以选择切换到IE6/7/8等不同的网页模式。那“浏览器模式”和“文档模式”之间有什么区别呢? 

         “浏览器模式”用于切换IE针对该网页的默认文档模式、对不同版本浏览器的条件备注解析、发送给网站服务器的用户代理(User-Agent)字符串的值。网站可以根据浏览器返回的不同用户代理字符串判断浏览器的版本和安装的功能,这样就可以向不同的浏览器返回不同的页面内容。 默认情况下,IE8的浏览器模式为IE8。用户可以通过单击地址栏旁边的兼容性视图按钮来手动切换到不同的浏览器模式。在IE8中,IE8兼容性视图会以IE7文档模式来显示网页,同时会向服务器发送IE7的用户代理字符串。 

         “文档模式”用于指定IE的页面排版引擎(Trident)以哪个版本的方式来解析并渲染网页代码。切换文档模式会导致网页被刷新,但不会更改用户代理字符串中的版本号,也不会从服务器重新下载网页。切换浏览器模式的同时,浏览器也会自动切换到相应的文档模式。

        在最新的IE9浏览器中同样支持这个功能,并新增了IE9标准的浏览器模式和文档模式,并且将“IE8兼容性视图”更改为了“IE9兼容性视图”。 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值