`
rmzdb
  • 浏览: 81303 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

【转】IE的文档模式

 
阅读更多

本文将讨论IE8如何确定用以渲染网站的文档模式,如怪异模式(又称IE5模式)和标准模式(更多资料,英文:http://en.wikipedia.org/wiki/Quirks_mode)。该内容对于开发人员和客户来说,是很重要的。

与此相关的,是我们最近更新的兼容性视图列表。此列表内容自从去年3月IE8发布以来,已经减少了1000多个网站。从最初的3100多,减少到了现在的2000多一点。在与网站开发人员及标准制定人员的共同努力下,我们很高兴地看到需要出现在兼容性视图(CV)列表中的网站不断地在减少。

数据驱动的设计

在讨论设计细节之前,我想和大家分享一些我们用于设计兼容性体验的数据。

图:高流量网站渲染所使用的文档模式

让我们来看一下世界范围内的上千个高流量网站,如qq.com和netlog.com,以及那些最初列入兼容性视图列表中(英文资料:兼容性视图列表)的网站的doctype(wikipedia英文资料百度百科CSDN社区)和X-UA-Compatible meta标签和头部

  • 26%的网站指定使用怪异模式,如果amazon.com,tworld.co.kr和unibanco.com.br。
  • 41%的网站使用了Transitional文档类型,即准标准模式(mozilla英文资料)。
  • 14%的网站已经添加了X-UA-Compatible meta标签或HTTP响应头,从而使用IE7标准模式进行渲染。

以上的数据是可以理解的:许多高流量网站需要在尽可能多的浏览器中渲染,这就是为什么他们会使用怪异模式。许多网站有专门针对IE7的页面而且许多网站创作工具,如Aptana Studio(英文网站)和Expression Web,则默认指定使用Transitional文档类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

如果考虑一下网络的规模,那么将有几十亿的网页,分别指定使用怪异模式,IE7,准标准模式,或最新的标准模式。IE需要支持所有这些网站以确保世界范围内的用户拥有最好的体验。

有这些数据在手,我们设计IE8时考虑到了以下一些原则:

  1. 默认情况下,使用最标准的方式渲染网页。
    如此前(IEblog英文,未翻译)的帖子(IEBlog英文,未翻译)所明确的,我们致力于互操作性,这便意味着默认情况下,使用最标准的方式渲染网页。
  2. 用户只是期待网页在IE中正常工作。
    一小部分用户将需要改进那些在IE7标准模式中工作得最好的网站,以便使其可以工作在IE8的最标准的默认模式中。至于其他所有人,IE8提供了兼容性视图设置(IEBlog英文,未翻译)。

    在这里,最好的用户体验是一切自动地如网站设计者希望的那样工作。这就是为什么我们提供了兼容性视图列表(MSDN英文资料)。与此同样重要的是,用户可以通过兼容性视图按钮,修复那些尚未加入列表中网站。
  3. 网站开发者完全掌控他们的内容如何被渲染。
    X-UA-Compatible meta标签和头部会覆盖IE和用户的设置。他们也使网站开发者可以细粒度地调控如何在IE中渲染每一个网页。

    比如,有些网站拥有一些专门为怪异模式写的网页,而另一些则为IE7标准模式。当IE收到的X-UA-Compatible头的值为EmulateIE7时,便会相应地以怪异模式或IE7标准模式进行渲染。
  4. 给网站开发者以工具和时间,帮助他们转换到IE8标准模式。
    IE8引入了X-UA-Compatible meta标签和头部,这便给网站开发者提供了时间以转换到IE8标准模式。正如上文提到的,许多网站已经使用了这些机制来指定他们的内容必须使用IE7标准模式。

IE8如何确定文档模式的图解

给定了以上的原则,这里有四条规则明确了IE如何处理文档类型(doctype),X-UA-Compatible meta标签和头部,开发人员工具,以及兼容性视图设置。这些标准自上而下出现在下面的图解中。

  1. 开发人员工具的设置会覆盖一个标签(tab)中所显示的页面的全部文档模式。
  2. X-UA-Compatible meta标签及此后的头部,覆盖兼容性视图设置和文档类型(doctype),除非X-UA-Compatible的值是EmulateIE7或EmulateIE8。
  3. 用户的兼容性视图设置(IEBlog英文,未翻译)会覆盖微软兼容性视图列表(MSDN英文资料)。
  4. 如果没有上述规则中的任何一种可以适用,则有文档类型(doctype)将决定网页使用以下哪一种模式进行渲染:IE8标准模式,IE8准标准模式,或怪异模式。

MarcSil_IE8_Document_Mode_2

兼容性和互操作性是很复杂的。为了降低开发人员和用户使用的复杂度,我们希望看到更多的网站淘汰旧式的浏览器模式。我们也尊重网站开发人员对模式的选择。我们很高兴和网站所有者及标准组织成员继续(IEBlog英文,未翻译)提高(IEBlog英文,未翻译)IE的(IEBlog英文,未翻译)互操作性标准的实现。

非常感谢Jesse Mohrland对图解的检验。

 

原文作者:

Marc Sibey

Program Manager

引用:http://blogs.msdn.com/b/ie/archive/2010/03/02/how-ie8-determines-document-mode.aspx

分享到:
评论

相关推荐

    文档模式与IE浏览器模式

    ### 文档模式与IE浏览器模式 #### 一、引言 随着Web技术的不断发展与变化,不同的浏览器在处理HTML和CSS的方式上存在着细微差异。为了兼容各种基于不同标准开发的网站,微软在Internet Explorer 8及之后的版本中...

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

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

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

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

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

    1. **文档简介**:可能简述了为什么需要将IE8设置为IE7模式,以及在什么情况下会出现这种需求。 2. **IE的兼容性视图**:IE8引入了一个名为“兼容性视图”的功能,允许用户以较低版本的IE(如IE7)模式浏览网站。这...

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

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

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

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

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

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

    解决各种IE兼容问题_IE6_IE7_IE8_IE9_IE10

    - 使IE5、IE6、IE7、IE8兼容到IE9模式:`&lt;!--[if lt IE 9]&gt; &lt;script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"&gt;&lt;/script&gt; &lt;![endif]--&gt;` 这些库通过JavaScript在客户端动态修改浏览器的...

    JS获取IE版本号与HTML设置IE文档模式的方法

    JavaScript获取IE版本代码: var gIE = getIE(); alert&#40;gIE.version&#41; function getIE() { var rmsie = /(msie) ([\w.]+)/; var ua = navigator.userAgent.toLowerCase(); var match = rmsie.exec&#40;...

    IE7与IE8的兼容性 配置文档

    - `IE=EmulateIE7`:强制IE8使用IE7的渲染模式,适用于那些为IE7优化的网站。 - `IE=EmulateIE9`:即使在IE8或更低版本的IE中,也强制使用IE9的渲染模式。 ### 实施步骤 1. **服务器端配置**:如果你的网站托管在...

    IE兼容模式怎么设置.pdf

    - 在开发人员工具中选择“文档模式”,然后从下拉菜单中选择需要模拟的旧版IE浏览器版本。 除了上述设置方法,有时候还需要将特定网站添加到信任区域,来解决兼容性问题: - 打开IE选项,在常规标签下找到“更改...

    ext3与ie9不兼容的问题

    2. **X-UA-Compatible元标签**:第二段代码中出现的`&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/&gt;`元标签,指示IE9应以IE7的渲染模式来显示页面。这通常是为了向后兼容旧版本的IE,但也会带来新的...

    IE8 指定不同的页面渲染模式

    X-UA-Compatible是一个HTTP头部字段,也可以作为HTML文档中的meta元素存在,用于指示IE8应该使用哪种渲染模式来解析和渲染页面。其基本语法如下: ```html &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt; ...

    IE7、IE8中如何设置才能始终以资源管理器模式打开FTP

    在IE7和IE8这两个较早版本的Internet Explorer浏览器中,用户可能会遇到默认打开FTP站点的方式不是他们期望的“资源管理器模式”。在这种模式下,用户可以像浏览本地文件系统一样浏览FTP服务器上的文件和目录,更...

    IE快捷键文档的使用

    ### IE快捷键文档的使用 在日常工作中,无论是办公还是浏览网页,Internet Explorer(简称IE)作为一款广泛使用的浏览器,其快捷键的应用能够显著提高工作效率并优化浏览体验。本文将根据提供的部分IE快捷键列表,...

    IE兼容文档

    使用`*+html` Hack时,需确保HTML文档顶部包含正确的DOCTYPE声明,以触发IE7的标准模式。 二、浮动元素的闭合(clearfix) 清除浮动是布局中常见的问题。可以添加一个类`.clearfix`到需要清除浮动的容器,如下所...

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

    但在IE8中,由于对标准的支持更加严格,即使在标准模式下,某些XHTML文档使用Transitional类型时,会被识别为Quirks模式。 描述中提到的解决方法有两个步骤。首先,修改文档类型(DOCTYPE)从Transitional更改为...

    ie6与ie7 8区别

    - **文档模式设置**:不同版本的IE对文档模式的支持也有所不同。例如,可以通过`&lt;meta&gt;`标签来强制IE8以IE7模式渲染页面。 ```html &lt;meta http-equiv="X-UA-Compatible" content="IE=7" /&gt; ``` #### 四、DOM支持...

    完美解决IE兼容模式问题(使IE使用固定的渲染模式)

    在互联网的早期,微软的Internet Explorer...这个标签被称为`X-UA-Compatible`,它允许我们强制浏览器使用特定的文档模式。例如: ```html &lt;meta http-equiv="X-UA-Compatible" content="IE=8"&gt; &lt;!--以IE8模式渲染--&gt; ...

Global site tag (gtag.js) - Google Analytics