<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=10,IE=9,IE=8" />
<title>无标题文档</title> </head>
<body> </body>
</html>

上文是一个简单的HTML文件里面的代码,下面我们来分析一下元信息中的 X-UA-Compatible

<meta http-equiv="X-UA-Compatible" content="IE=10,IE=9,IE=8" />

上面这段代码的意思是强制开启兼容性视图,即以IE10、IE9、IE8的文档模式来解析,高于IE10时候以IE10来解析,低于IE8时候以原始版本解析。

在几乎没有用到IE新特性的时候直接把兼容性开到最低,比如需要兼容IE10、9、8的时候直接强制兼容性视图为IE8。而下面的情况下如果是IE10则以IE10解析,IE9则以IE8解析,可以发现标签中处于IE10和IE8之间的9被剔除掉了。

<meta http-equiv="X-UA-Compatible" content="IE=10,IE=8" />

在公司项目开发插件的过程中,由于公司有大华的相机设备,我也用了一下,发现在IE11下面无法正常使用,手动F12将兼容性视图调整为IE10,又可以正常使用。

不过开发的时候又有谁能提前想到IE11已经走向标准化,而不再是简单的IE内核,这里不再去深论这个话题。

讲讲第二个话题IE条件注释(IE5引入,目前IE10及10以上的版本不再支持条件注释)

由于我的IE已经是11的版本了,这里并没有对条件注释进行详细的测试,内容参考于《JavaScript权威指南6》第13章。有兴趣的朋友可以自己去测试。

html注释:

<!--[if IE 11]>
</br>this is ie11
<![endif]--> <!--[if gte IE 7]>
</br>this is >= ie7
<![endif]--> <!--[if IE]>
</br>this is IE
<![endif]--> <!--[if !IE]> <-->
!IE
<!--> <![endif]-->

javascript注释:

<script type="text/javascript">
/*@cc_on
@if (@_jscript)
// 该代码位于一条JS朱室内但在IE中执行它
alert('In IE');
@end
@*/ /*@cc_on
@if (@_jscript)
// 该代码位于一条JS朱室内但在IE中执行它
alert('In IE');
@else*/
alert('is not in IE');
/*@end
@*/
</script>

在非IE下 弹出消息框 is not in IE,在IE下则弹出了对话框 In IE。这里用到了能力检测

'@_jscript'

是IE的javascipt解释器,总是为true(脚本中变量都能转换为0或1,true or false,表示存在这个变量,存在这种能力)

建议开发者在开发过程中尽量用能力检测代替浏览器检测。

IE兼容性标签和条件注释的更多相关文章

  1. IE条件注释详解

    IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素,如:样式表,html标签等.很显然这种方法的最大好处就在于属于微软官方给出的兼容解决 ...

  2. IE中的条件注释(转载自网络)

    IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素,如:样式表,html标签等.很显然这种方法的最大好处就在于属于微软官方给出的兼容解决 ...

  3. 关于IE条件注释(译)

    本文翻译自此篇文章.翻译纯属业余. 许多网站为了确保他们的站点能够在不同的浏览器上有不同的显示效果而使用特征检测,一些传统的网站使用其他技术,诸如在服务器或客户端上使用脚本去检测浏览器类型.在这里我们 ...

  4. HTML的条件注释和hack技术

    在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...

  5. HTML的条件注释及hack技术

    在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...

  6. JScript中的条件注释详解(转载自网络)

    JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...

  7. 关于HTML条件注释你可能不知道的一些事儿

    最近经常看到类似这样的HTML代码片段,很多前端开发人员应该都熟悉: 1 <!--[if lt IE 7]>      <html class="ie6"> ...

  8. HTML在IE中的条件注释

    HTML在IE中的条件注释 HTML的条件注释在IE5中被首次引入,直到IE9.一直都是简单地判定用户浏览器(IE,非IE,IE版本)的一种手段,而在IE10的标准模式下,条件注释功能被停止支持(兼容 ...

  9. <! [if IE 神奇的条件注释 ]>

    早上起来无聊,看到某学长发的一张代码截图有条件注释,正好,研究一下. 条件注释: 在IE中用来区分IE版本.是否为IE的代码神器! 在其他的浏览器里是不好使的. 不过也值得了,IE都区分出来了,其他的 ...

随机推荐

  1. Linux下makefile(一)

    makefile关系到了整个工程的编译规则.一个工程中的源文件不计数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文 ...

  2. 解读CSS的背景(background)样式

    background-color: 可以为所有的元素设置背景色,这个属性接受任意合法的颜色值,如果希望背景色从元素文本向外少有延伸,只需增加一些内边距(padding). 注意:background- ...

  3. css3中的提供的元素变化属性

    通过 CSS3 提供的2d元素转换,我们能够对元素进行移动.缩放.转动.拉长或拉伸. css3中为我们 提供了: translate() rotate() scale() skew() matrix( ...

  4. HTML5画布(变形)

    坐标变换 案例1: <!DOCTYPE html><html><head lang="en"> <meta charset="U ...

  5. JQ点击列表显示隐藏

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

  6. jQuery.fn

    DIY一个jQuery 写了一个非常简单的 jQuery.fn.init 方法: jQuery.fn.init = function (selector, context, root) { if (! ...

  7. java中setDate(Date date)方法和String与Date之间的转换

    经常在开发的过程中遇到这样的问题,从数据库中读出来的数据需要转换为对像或者java bean,此时经常使用到setDate(Date date);这样的方法.感觉这是个很简单而又难受的事情,在这里浪费 ...

  8. iOS随机数-备

    ios 有如下三种随机数方法: 1.    srand((unsigned)time(0));  //不加这句每次产生的随机数不变        int i = rand() % 5; 2.    s ...

  9. JQuery的插件

    最近需要修改ftl文件,使用一般的freemarker插件不能有效处理里边的部分JQuery内容,所以特地下载了一个Spket插件, 地址为 http://www.agpad.com/update 再 ...

  10. Codeforces 13C Sequence

    http://codeforces.com/contest/13/problem/C 题目大意 给定一个含有N个数的序列,要求你对一些数减掉或者加上某个值,使得序列变为非递减的,问你加减的值的总和最少 ...