文档兼容性

        作为web开发人员,本来已经很悲催的不断调试各种浏览器的显示效果,而MS下的各个版本的IE浏览器每一个是让人省心的...哎!可能是MS实在看不下去了,于是IE8开始微软引入文档兼容性,从此让前端开发人员稍微松了一口气。

        首先先了解两个感念:浏览器模式(browsermode)和文档模式(documentmode)

        浏览器模式:于切换IE针对该网页的默认文档模式、对不同版本浏览器的条件备注解析、发送给网站服务器的用户代理(User-Agent)字符串的值。网 站可以根据浏览器返回的不同用户代理字符串判断浏览器的版本和安装的功能,这样就可以向不同的浏览器返回不同的页面内容。默认情况下,IE8的浏览器模式为IE8。用户可以通过单击地址栏旁边的兼容性视图按钮来手动切换到不同的浏览器模式。在IE8中,IE8兼容性视图会以IE7文档模式来显示网页,同时会向服务器发送IE7的用户代理字符串。

        文档模式:用于指定IE的页面排版引擎(Trident)以哪个版本的方式来解析并渲染网页代码。切换文档模式会导致网页被刷新,但不会更改用户代理字符串中的版本号,也不会从服务器重新下载网页。切换浏览器模式的同时,浏览器也会自动切换到相应的文档模式。简而言之:浏览器模式的改变,能够改变请求中User Agent的值,让服务器获取后,能够按照UA的值进行对应处理(如果服务器上有这个处理功能)。而文档模式的改变只反映在本地的浏览器解析HTML上, 对客户端显示会有影响,而对服务器透明。同时,修改浏览器模式会影响文档模式,反之却不成立。

        使用文档兼容性的方法比较容易,就是在我们要反馈给客户端的HTML代码中的head中添加一个meta元素,用来描述当前的文档需要使用何种浏览器版本来解释当前文档,代码类似下面这样:

<html>

<head>

  <!-- Mimic Internet Explorer 7 -->

  <metahttp-equiv="X-UA-Compatible" content="IE=EmulateIE7" >

  <title>测试模拟IE7浏览模式</title>

</head>

<body>

  <!--这里是你网站的内容-->

</body>

</html>

        X-UA-compatible(文档兼容性设置)在使用中,大小写不敏感,如果你需要客户端模拟其他的浏览器版本来解析文档你可以设置为对应的版本即可,通常的设置有如下几种:

        IE=5 让浏览器使用Quirksmode来显示,实际上是使用Internet Explorer 7 的 Quirks 模式来显示内容,这个模式和IE5非常相似。

        IE=edge 这个设置是让IE使用当前的最高版本进行文档的解析,官方文档指明,edge模式仅适用在测试环境,不建议在生产环境中使用

        IE=7 使用标准IE7来处理

        IE=EmulateIE7 一个合法的<!DOCTYPE>,就使用IE7模式,否者使用Quirks模式(InternetExplorer 5 Quirks),对于大部分网站来说,这是首选的兼容性模式

        IE=8 标准IE8

        IE=EmulateIE8 模拟IE8,遵循 <!DOCTYPE> 指令,参照IE=EmulateIE7说明

        IE=9  标准IE9

        IE=EmulateIE9 模拟IE9,遵循 <!DOCTYPE> 指令,参照IE=EmulateIE7说明

        IE=10 模拟IE10

        IE=EmulateIE10 标准IE10,遵循 <!DOCTYPE> 指令,参照IE=EmulateIE7说明

        chrome=1  强制使用Chrome,需要IE下Chrome插件支持

      

未完待续......


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值