IE兼容模式及客户端兼容模式、服务器端兼容模式设置

[b]IE兼容模式:[/b]
为了帮助确保网页在将来的 Internet Explorer 版本中具有一致的外观,[color=red]Internet Explorer 8[/color] 引入了文档兼容性。文件兼容性用于定义IE如何渲染网页。

[b]怎么查看当前网页在IE下的兼容性模式:[/b]
在浏览器中按F12打开IE开发人员工具,在最上方的工具栏中可以看到浏览器模式和文档模式。
[img]http://dl.iteye.com/upload/attachment/0072/6083/77a0dc54-2913-3706-ace5-bb7704e0640c.png[/img]
[list]
[*][b]浏览器模式[/b]影响浏览器的[color=red]行为[/color]表现以及声明的[color=red]版本号[/color]。
[*][b]文档模式[/b]影响DOM的转换、渲染操作,影响的是浏览器的[color=red]外观表现[/color],决定网页显示成什么样子的。
[/list]
[b]客户端兼容性模式默认设置:[/b]
[list]
[*]外网网站以标准模式来渲染
[*]内网网站以[color=red]兼容模式(IE7兼容模式)[/color]来渲染
[*]当用IP访问网站时,也是自动以标准模式来渲染,因为IE不能知道ip地址是内网或者外网的
[*]当访问本地html文件时,如‘C:\Temp\MyWebPage.htm’,IE8兼容性模式默认也是关闭的
[*]兼容性模式是针对[color=red]域名[/color]设置的
[*]启用、关闭兼容性模式时,浏览器会自动重新加载(刷新)页面(不需要浏览器重启)
[/list]
[b]客户端兼容模式设置:[/b]
兼容性模式按钮
[img]http://dl.iteye.com/upload/attachment/0072/6085/b3711500-34f2-372f-a841-28de224784e4.png[/img]
只有当切换到兼容性视图[color=red]有意义的情况下[/color](譬如当前正以标准模式查看网页),[color=red]IE才会显示上述按钮[/color]。其他情况下,如正以Quick模式查看页面或者正在查看内网网页(它们自动用兼容性模式来渲染),IE会自动隐藏这个按钮。

Tools菜单下的[b]兼容性视图以及兼容性视图设置画面[/b]
注意:默认情况下,用[color=red]兼容性模式(即IE7标准模式)查看内网网站[/color]是被选中的
[img]http://dl.iteye.com/upload/attachment/0072/6087/941e254c-1945-3def-a420-b87a42f96bad.png[/img]
[img]http://dl.iteye.com/upload/attachment/0072/6089/10f11f87-dcee-3ded-a178-02478f36a3f6.png[/img]

[b]服务器端兼容模式设置:[/b]
即当客户端以兼容性模式视图查看网页时,可以[color=red]在服务器上设置以什么标准的兼容性模式来渲染网页[/color](IE8,IE9下默认启用的是[color=red]IE7标准的兼容性模式[/color])
当客户端以标准模式(非兼容性模式)来查看网页时,服务器端的兼容性模式[color=red]不会影响标准模式的渲染[/color]。

若你已于网站服务器指定了一个预设的文件兼容性模式,你可以在个别页面上指定不同的文件兼容性模式来盖过它。[color=red]在网页中指定的模式优先权高于服务器中(通过HTTP Header)所指定的模式[/color]。
[color=red][b]兼容性模式设置优先级:[/b][/color]
[img]http://dl.iteye.com/upload/attachment/0072/6108/9c508f3c-f431-38d4-9b85-060a223d74dd.png[/img]

X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的。通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置。

例子:
<meta http-equiv="X-UA-Compatible" content="IE=7" />
以上代码告诉IE浏览器,无论是否用DTD声明文档标准,IE8/9都会以IE7引擎来渲染页面。
<meta http-equiv="X-UA-Compatible" content="IE=8" />
以上代码告诉IE浏览器,IE8/9都会以IE8引擎来渲染页面。
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
以上代码告诉IE浏览器,IE8/9及以后的版本都会以最高版本IE来渲染页面。
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />
<meta http-equiv="X-UA-Compatible" content="IE=7,9" />

[b]IE文档兼容性模式所有可能的值:[/b]
[list]
[*]Emulate IE8 mode指示IE使用<!DOCTYPE>指令来决定如何编译内容。Standards mode指令会显示成IE8 Standards mode而quirks mode会显示成IE5 mode。不同于IE8 mode,Emulate IE8 mode[color=red]重视<!DOCTYPE>指令[/color]。
[*]Emulate IE7 mode指示IE使用<!DOCTYPE>指令来决定如何编译内容。Standards mode指令会显示成IE7 Standards mode而quirks mode会显示成IE5 mode。不同于IE7 mode,Emulate IE7 mode[color=red]重视<!DOCTYPE>指令[/color]。对于许多网页来说这是最推荐的兼容性模式。
[*]IE5 mode 编译内容如同IE7的quirks mode之显示状况,和IE5中显示的非常类似。
[*]IE7 mode编译内容如同IE7的standards mode之显示状况,无论网页是否含有<!DOCTYPE>指令。
[*]IE8 mode提供对业界标准的最高支持,包含 W3C Cascading Style Sheets Level 2.1 Specification和W3C Selectors API,并有限的支持 W3C Cascading Style Sheets Level 3 Specification (Working Draft)。
[*][color=red]Edge mode指示IE以目前可用的最高模式显示内容。[/color]当使用IE8时其等同于IE8 mode。若(假定)未来放出支持更高兼容性模式的IE,使用Edge mode的页面会使用该版本能支持的最高模式来显示内容。同样的那些页面在使用IE8浏览时仍会照常显示。
[/list]
[b]注意事项:[/b]
[list]
[*]1,根据官网定义X-UA-compatible [color=red]标头不区分大小写[/color];不过,它[color=red]必须显示在网页中除 title 元素和其他 meta 元素以外的所有其他元素之前[/color]。如果不是的话,它不起作用
[*]2,content的[color=red]内容是IE=8,或者IE=edge[/color]等值,注意不是IE8或者直接写个edge的值,否则不起作用
[/list]

参考:
[url=http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx](IE8兼容模式介绍官网文档)Introducing Compatibility View[/url]
[url=http://blog.163.com/agw_slsyn/blog/static/3091511220121444315741/]翻译过的官网文档:定义文档兼容性[/url]
[url=http://msdn.microsoft.com/en-us/library/cc288325%28v=vs.85%29.aspx]Defining Document Compatibility[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值