目录

参考:

一、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 标准进行靠拢,以便让各种浏览器可以更好的兼容网站中使用的代码,开发人员不用花太多精力使用不同的方法在各种的浏览器上实现自己需要的效果,用户也可以更自由的选择使用自己喜欢的浏览器。 之前的IE6和IE7为了实现更多的功能,其代码规范与 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兼容性视图”。

FEATURE_BROWSER_EMULATION及IE “浏览器模式”和“文档模式”相关推荐

  1. 【浏览器】浏览器模式与文档模式区别

    浏览器模式下的影响: 简单来说,"浏览器模式"影响的是浏览器的版本及IE的条件注释, "浏览器模式"会影响服务器端对浏览器版本的判断,主要表现在展现,对CSS影 ...

  2. IE10浏览器 默认的文档模式为IE7标准,无法更改

    IE10浏览器 默认的文档模式为IE7标准,无法更改 解决方法:在head标签里添加如下代码: <meta http-equiv="content-type" content ...

  3. 软件设计一点通 | 抽象文档模式详解

    抽象文档模式 抽象文档模式是什么 一种面向对象的结构设计模式,用于在松散类型的键值存储中组织对象并使用类型化视图公开数据.该模式的目的是在强类型语言中实现组件之间的高度灵活性,其中可以动态地将新属性添 ...

  4. 文档模式引起的浏览器兼容问题

    最近做的一个网页,在本地打开都是非常完美,可以兼容常见的浏览器,但是放到服务器上就不行了,在ie的兼容模式下,打开F12发现文档模式一直是IE7 .为此,查询了很多关于浏览器兼容的问题. 基本上就是说 ...

  5. html 浏览器文档模式,调整:浏览器模式lE8十文档模式8是怎样操作

    本文将讨论IE8浏览器如何确定用以渲染网站的文档模式,如怪异模式(又称IE5模式)和标准模式(更多资料,英文:http://en.wikipedia.org/wiki/Quirks_mode).该内容 ...

  6. 设置IE文档模式解决IE浏览器兼容性

    IE的兼容性一直是前端开发者最头疼的问题之一,很多时候为了解决莫名其妙的兼容性脑细胞那叫一个大片大片的死亡啊,经常是Chrome.Firefox等浏览器正常,但偏偏IE要出现问题,有些时候可能高版本的 ...

  7. 判断IE浏览器的文档模式以及浏览器模式

    IE浏览器的浏览器模式和文档模式 判断浏览器模式: function IEVersion() {var userAgent = navigator.userAgent; //取得浏览器的userAge ...

  8. ie浏览器设置文档模式

    本文来自:http://blog.csdn.net/itmyhome1990/article/details/50331057 项目在IE浏览器中打开默认是Quirks模式,导致兼容性不太好 当然可以 ...

  9. html中ie9文档模式,IE9:强制IE9浏览器模式和文档模式(IE9: Force IE9 browser mode and document mode)...

    IE9:强制IE9浏览器模式和文档模式(IE9: Force IE9 browser mode and document mode) 在IE9中,我的网页显示为Browser Mode: IE9 Co ...

最新文章

  1. 删除git中无用的大文件
  2. 第八章 路由协议原理
  3. 记一次MySQL AUTO_INCREMENT的故障
  4. pycharm 黄色(黄字)高亮警告 Default argument value is mutable 原因及解决办法(mutable 可变对象与 immutable不可变对象)
  5. 场景化封装,一站式使用,普惠AI集成 ——阿里云发布智能媒体管理产品
  6. mysql5.0.19_CentOS下升级MySQL5.0.19到5.5
  7. 训练千亿参数模型的法宝,昇腾CANN异构计算架构来了~
  8. java String.intern();
  9. flash特效原理:图片滑动放大效果(3)
  10. 13、MVC 设计思想
  11. GMbox批量正版音乐下载
  12. 卸载ps显示无法连接adobe服务器,PS还在无法安装?无法卸载?通通搞定!
  13. luogu P3966 [TJOI2013]单词
  14. SyncToy使用介绍
  15. “百度杯”CTF比赛2017年2月场WP--web
  16. 第2章 初学 emWin 的准备工作及其快速上手
  17. python怎样编程_怎么自学python编程
  18. Linux boot 时 USB 的初始化过程分析2
  19. Cut through switching
  20. iOS App Extension 介绍

热门文章

  1. vue集成腾讯地图的地图选点组件
  2. GitHub Pages入门那些事儿
  3. 解决ie6、ie7下float为right换行的情况
  4. node高版本不支持win7系统
  5. 2D和3D的对比,不用犹豫,3D建模是行业未来必然趋势!
  6. 33名中国游客护照被偷 驻意大利使馆加班办证获赞
  7. [深度学习论文笔记]使用多模态MR成像分割脑肿瘤的HNF-Netv2
  8. 如何获取小红书直播推流码并使用obs电脑直播教程
  9. Android 华为 桌面图标适配(显示未读数目)
  10. 看看你的IQ有多少?