`
JavaSam
  • 浏览: 951956 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

再谈IE的浏览器模式和文档模式

 
阅读更多

以前在 “IE8兼容视图(IE7 mode)与独立IE7的区别”一文中曾经涉及过浏览器模式和文档模式,但二者的区别却不甚了了,现在有了新的认识,再补充一下。

1.浏览器模式与文档模式概念

在较新的IE浏览器中(如IE8, IE9, IE10),为了解决兼容性的问题,引入了浏览器模式和文档模式两个概念,浏览网页时可以通过按F12键看到这两种模式。

 

浏览器模式的主要作用是为兼容较早版本的IE,它会控制浏览器发出的UserAgent,表示以哪个版本的浏览器发出请求,以此来允许为某个特定IE版本设计的代码正确执行(举例来说:有些代码真是判断ie版本的,还有css里也有判断ie版本的)。

 

文档模式的主要作用是影响浏览器显示网页HTML的方式,在接到返回的HTML文件后,决定以哪个IE版本的文档模式解析该页面(举例来说:JS脚本就是依赖文档模式,IE9的js变化就需要IE9文档模式来支持

2.如何使WebBrowser运行在IE9浏览器模式下

在安装了IE9的计算机上,Webbrowser并不是直接运行在IE9模式下,而是默认工作在IE9兼容视图(也就是IE7 Mode)下,为了让Webbrowser工作在IE9下,需要修改注册表,为应用程序指明使用IE9版本。

32位计算机需要修改注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION,增加YourApplication.exe,值为十进制9999

64位计算机需要修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION,增加YourApplication.exe,值为十进制9999

注意:9999最正确,9000则不推荐用,因为它不彻底。

3.如何使Htm页面使用IE9文档模式

如果htm页面中没有doctype,那么WebBrowser将不会使用IE9文档模式来解析页面(哪怕已经设置了注册表9999),而是仍沿用之前兼容旧版IE Quirks模来渲染,解释页面,JS脚本也将同样处置。这样的缺点是无法使用Html5新特性,优点是您的系统升级到IE9的兼容性改造工作将会大为减少。

修改Htm页面的方法之一是,在Head->Title下添加<META http-equiv="X-UA-Compatible" content="IE=9" > </META>,这样可确保HTM页面工作在IE9标准文档模式下。

 

注意:msdn上写的关于9999可以无视doctype而自动使页面运行在ie9文档模式的说法是错误的,这一点已经得到了权威的认可。

4.总结

欲使你的系统作为整体(包括WebBrowser和Htm页面)工作在IE9下,则以上2, 3两步均需遵守,缺一不可。

 

*******************

后记. 发现3确实不可或缺,但2却不必了,因为3的优先级比2高,基本上,有了3就可以了。

分享到:
评论

相关推荐

    IE8浏览器如何确定文档模式.docx

    IE8 浏览器如何确定文档模式是指 IE8 浏览器如何根据文档类型、X-UA-Compatible meta 标签和头部、开发人员工具和兼容性视图设置来确定网站的渲染模式的过程。 文档类型(doctype)是 HTML 文档的开头部分,用于...

    浏览器模式与文档模式区别[参照].pdf

    浏览器模式与文档模式是Internet Explorer(IE)浏览器中的两种重要设定,它们分别控制着浏览器的行为和页面的渲染方式。理解这两者的区别对于开发者调试和优化网站的跨浏览器兼容性至关重要。 首先,**浏览器模式*...

    文档模式与IE浏览器模式

    在这一背景下,“浏览器模式”和“文档模式”两个概念应运而生,它们对于确保网页在不同浏览器版本中的正确显示至关重要。 #### 二、兼容性视图与浏览器模式 ##### 兼容性视图 兼容性视图是为了解决由于不同网页...

    IE11停用后EDGE兼容模式切换指南.pdf

    2. **Edge兼容模式**:Microsoft Edge的Internet Explorer模式支持所有文档模式和企业模式,允许运行ActiveX控件(如Java和Silverlight)、浏览器帮助程序对象,并且遵循与Internet Explorer相同的安全区域设置和...

    IE8如何定义浏览器工作模式避免网页显示混乱

    标题中的“IE8如何定义浏览器工作模式避免网页显示混乱”主要涉及的是在IE8浏览器中,如何通过调整浏览器的工作模式来确保网页的正确显示。在IE8 beta1版本推出后,许多网站,包括新浪,遇到了显示问题,主要是由于...

    IE 浏览器web扫描插件

    【IE浏览器web扫描插件】是一种专为IE浏览器设计的扩展功能,旨在提供方便快捷的文档扫描服务。这种插件能够将本地的物理扫描仪集成到网页应用中,让用户可以直接在浏览器内完成文件扫描,无需跳出浏览器进行多步...

    浏览器(MFC IE内核浏览器)

    这是MFC的核心设计模式,它将数据处理(文档)与用户界面(视图)分离,使得代码更易于管理和维护。在MFC IE内核浏览器中,文档类可能包含了与Web页面交互的逻辑,如加载URL、执行导航操作、处理网页事件等;而视图...

    IE8 下的问题 转化成IE7 模式.rar

    通过以上信息,我们可以理解这个压缩包内容的核心是帮助用户理解和解决IE8浏览器的兼容性问题,以及如何有效地将IE8设置为模拟IE7模式。这对于开发者和非开发者都可能是有价值的,因为它提供了处理旧版本浏览器兼容...

    vc.rar_VC browser_VC 浏览器_ie vc_ie 浏览器_vc IE

    描述中提到的“多文档界面”(Multiple Document Interface)是一种用户界面设计模式,允许在一个应用程序窗口中同时显示和操作多个文档。在VC++中,通过MFC(Microsoft Foundation Classes)库可以轻松实现MDI应用...

    java基于IE内核网页浏览器

    Java基于IE内核的网页浏览器是一种使用Java编程语言开发的软件,它利用Internet Explorer的内核来渲染和解析网页内容。这种浏览器通常采用多标签式界面,为用户提供多个网页同时浏览的功能,增强了用户在互联网上的...

    解决各种IE兼容问题_IE6_IE7_IE8_IE9_IE10

    这行代码的作用是告诉IE浏览器以IE7的标准模式来解析和渲染网页,即使用户使用的是更老或更新的IE版本。这样做的目的是确保网页在不同版本的IE下表现一致。例如,如果你发现网页在IE8及更高版本中出现问题,而希望其...

    判断IE8兼容性视图工作模式

    这个属性在IE8及以上版本中引入,用于指示当前浏览器的文档模式。在标准模式下,`document.documentMode`将返回对应的IE版本号(如8),而在兼容性视图下,它可能返回7(模拟IE7)或其他更低的值。以下是一个简单的...

    试谈IE8.0浏览器十大亮点.pptx

    这款浏览器在功能和用户体验上不断优化,下面我们将详细探讨IE8.0的十大亮点。 1. **简洁易用的主界面**:IE8.0的界面设计注重简洁和易用性,只保留了最常用的功能键,使得用户能够快速上手,轻松操作。 2. **智能...

    IE8系统浏览器

    **IE8系统浏览器详解** IE8,全称Internet Explorer 8,是由微软公司开发的一款Web浏览器,它是Internet...而提供的文档和补丁文件则帮助用户更好地管理和维护他们的IE8浏览器,确保系统安全并能顺利运行各种Web应用。

    div+css兼容ie6ie7ie8ie9和FireFoxChrome等浏览器方法[借鉴].pdf

    Firefox和其他基于Webkit的浏览器(如Chrome)遵循W3C标准盒模型,其内容区域不包括边距和填充,而IE6-8则使用非标准的盒模型,内容区域包括边距和填充。解决方法是使用`box-sizing`属性,或在CSS中分别设定`width`...

    IE8调用IE7渲染模式,网页高度根据内容高度显示

    本话题主要探讨如何让IE8浏览器调用IE7的渲染模式来解决特定问题,特别是针对iframe自定义高度的问题。 首先,让我们理解为什么需要在IE8中模拟IE7的渲染模式。IE8引入了更现代的渲染引擎,但为了向后兼容,它提供...

    判断是不是ie8支持所有浏览器

    DOCTYPE html&gt;`可以确保文档以标准模式渲染,减少因doctype不同导致的样式差异。 #### 四、总结 综上所述,通过JavaScript判断浏览器是否为IE8并作出相应的提示是一种常见的兼容性处理方式。但在实际应用中,还...

    如何让div+css兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器.pdf

    DOCTYPE声明会影响浏览器进入何种文档模式。在HTML4或XHTML1.0中使用`&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;`可以使浏览器...

    Firefox, IE5, IE5.5, IE6, IE7, IE8多种浏览器兼容的问题

    文档模式的选择对于IE来说至关重要。 ```html &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt; ``` **2. 中心对齐问题** 在IE中,可以通过设置`margin: ...

    IE.rar_ie浏览器_浏览器 ie

    2. **安全保护**:虽然相对其他现代浏览器,IE的安全性稍显落后,但它仍具备基本的防钓鱼和恶意软件防护功能。 3. **隐私模式**:提供InPrivate浏览模式,不保存浏览历史和临时文件。 4. **收藏夹**:方便用户保存和...

Global site tag (gtag.js) - Google Analytics