以前在 “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
所有文档模式和企业模式,ActiveX 控件(例如 Java 或 Silverlight),浏览器帮助程序对象,影响安全区域设置和内核 模式的 Internet Explorer 设置和组策略,用于 IE 的 F12 开发人 员工具(与 IEChooser 一起启动...
“兼容性视图”涉及两个重要的功能便是“浏览器模式”和“文档模式”,本文将简单的介绍这两个模式的区别。
随着IE8 beta1的发布,发现连sina有显示问题,由于IE8 对标准的“良好”执行,当 XHTML 文档使用 Transitinal 类型时,会自动选择 Quirks 模式,即 IE5 的模式来解析,所以也就不难理解为何大多数站点会遭遇显示问题...
描述了Excel文件上传,项目过程中,发现IE浏览器兼容模式下不支持,omg,重新做了各IE7、8、9版本都支持的Excel文件上传;该文档描述了各浏览器支持Excel文件上传;
面试官:请你谈谈标准(Standards)模式、怪异(Quirks)模式、准标准(Almost Standards)模式,当你打开IE9时候会看见,浏览器模式,文档模式,兼容性视图,这些又是什么? 好吧,一点点来:先明白一个词DTD(文档类型...
一个出色而小巧的Internet/Intranet浏览器,支持frames,方便的缩放功能,多窗口,可定制用户界面,高级多媒体特性,标准和增强HTML等等。可直接使用IE的书签、频道。增加了E-mail的客户端功能,可以使用多个账户,...
软件介绍: 良田高拍仪控件及文档及...WEB平台集成读卡器功能说明(注只支持IE浏览器,高版本IE或360需要在兼容模式下,WEB需要增加控件OCX代码。包含多浏览器控件接口说明文档,及javascript ServerDemo程序代码。
本文档内容涵盖:IE6升级到IE9过程中Javascript, DOM, HTML, CSS等方面的变化和调整。 概述 2 第一章:HTML 3 第一节:IE7-IE8更新 3 1. 如果缺少结束标记的 P 元素后跟 TABLE、FORM、NOFRAMES 或 NOSCRIPT 元素,会...
5.3.2 Flash文档的反编译、再编译与调试 122 5.3.3 SWF的网络交互:URLLoader 124 5.3.4 crossdomain.xml与Flash的“沙盒” 125 5.3.5 ExternalInterface 126 5.3.6 FLASH XSS 126 5.3.7 Microsoft Edge中的...
本文包括的模式转换(mode switching)适用于Firefox和其他基于Gecko的浏览器,Safari、Chrome和其他基于Webkit的浏览器,Opera、 Konqueror、Mac版Internet Explorer、Windows版Internet Explorer和内嵌IE的浏览器...
支持常见的浏览器种类,如IE,firefox等 *.支持静态内容发布模式,静态发布可生成纯HTML文档格式,可脱离WEB服务器运行环境,独立提供服务,以离线的方式浏览帮助文档,这种方式下特别适合CD打包发布 *.支持动态...
From the planning details to the steps to the considerations, understand how to design the perfect SharePoint implementation by applying the information in Professional SharePoint 2007 Design....
某些国产浏览器在“IE内核”下,可以切换其“兼容模式”,这并不是切换不同的IE内核版本,而是通过调用系统中IE内核的不同“文档模式”来实现的,。这可能造成一些问题。比如A用户系统中安装了IE8,使用QQ浏览器的...
3.支持常见的浏览器种类,如IE,firefox等 4.支持静态内容发布模式,静态发布可生成纯HTML文档格式,可脱离WEB服务器运行环境,独立提供服务,以离线的方式浏览帮助文档,这种方式下特别适合CD打包发布 5.支持动态...
支持常见的浏览器种类,如IE,firefox等 .支持静态内容发布模式,静态发布可生成纯HTML文档格式,可脱离WEB服务器运行环境,独立提供服务,以离线的方式浏览帮助文档,这种方式下特别适合CD打包发布 .可发布为PDF...
SOAOFFICE 文档控件,能够在浏览器窗口中直接编辑Word、Excel、Powerpoint、Viso、WPS等文档并保存到Web服务器上,实现了本地办公与网络办公的无缝整合,彻底解决了B/S模式下的电子政务/办公自动化等系统对常用Word...
4. 支持常见的浏览器种类,如IE,firefox等。 5. 支持静态内容发布模式,静态发布可生成纯HTML文档格式,可脱离WEB服务器运行环境,独立提供服务,以离线的方式浏览帮助文档,这种方式下特 别适合CD打包发布。 6. ...
最新版的多种浏览器兼容模式的总结,包括(IE、火狐、谷歌、360等主流浏览器)
1、使用一行代码来指定浏览器使用特定的文档模式。 <meta http-equiv="x-ua-compatible" content="IE=9" > <meta http-equiv="x-ua-compatible" content="IE=8" > <meta ...