IE兼容性标签和条件注释
<!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兼容性标签和条件注释的更多相关文章
- IE条件注释详解
IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素,如:样式表,html标签等.很显然这种方法的最大好处就在于属于微软官方给出的兼容解决 ...
- IE中的条件注释(转载自网络)
IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素,如:样式表,html标签等.很显然这种方法的最大好处就在于属于微软官方给出的兼容解决 ...
- 关于IE条件注释(译)
本文翻译自此篇文章.翻译纯属业余. 许多网站为了确保他们的站点能够在不同的浏览器上有不同的显示效果而使用特征检测,一些传统的网站使用其他技术,诸如在服务器或客户端上使用脚本去检测浏览器类型.在这里我们 ...
- HTML的条件注释和hack技术
在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...
- HTML的条件注释及hack技术
在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...
- JScript中的条件注释详解(转载自网络)
JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...
- 关于HTML条件注释你可能不知道的一些事儿
最近经常看到类似这样的HTML代码片段,很多前端开发人员应该都熟悉: 1 <!--[if lt IE 7]> <html class="ie6"> ...
- HTML在IE中的条件注释
HTML在IE中的条件注释 HTML的条件注释在IE5中被首次引入,直到IE9.一直都是简单地判定用户浏览器(IE,非IE,IE版本)的一种手段,而在IE10的标准模式下,条件注释功能被停止支持(兼容 ...
- <! [if IE 神奇的条件注释 ]>
早上起来无聊,看到某学长发的一张代码截图有条件注释,正好,研究一下. 条件注释: 在IE中用来区分IE版本.是否为IE的代码神器! 在其他的浏览器里是不好使的. 不过也值得了,IE都区分出来了,其他的 ...
随机推荐
- NOIP201504推销员
#include<iostream> #include<cstring> #include<algorithm> #include<cmath> #in ...
- Guava API学习之Preconditions优雅的检验参数 编辑
在日常开发中,我们经常会对方法的输入参数做一些数据格式上的验证,以便保证方法能够按照正常流程执行下去.对于可预知的一些数据上的错误,我们一定要做 事前检测和判断,来避免程序流程出错,而不是完全通过错误 ...
- k-means均值聚类算法(转)
4.1.摘要 在前面的文章中,介绍了三种常见的分类算法.分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应.但是很多时候上述条件得不到满足,尤其是在 ...
- 用js实现两个select下拉框之间的元素互相移动
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- GCD使用经验与技巧浅谈--备
GCD(Grand Central Dispatch)可以说是Mac.iOS开发中的一大“利器”,本文就总结一些有关使用GCD的经验与技巧. dispatch_once_t必须是全局或static变量 ...
- Android XML文档解析(一)——SAX解析
---------------------------------------------------------------------------------------------------- ...
- 【转】ubuntu12.04完美安装QQ2012、QQMusic、Foxmail等--wine
原文网址:http://blog.csdn.net/hanmengaidudu/article/details/17616921 其实在这之前,试过无数次的wine模拟,没有一次成功的,也不能说是不成 ...
- 【剑指offer】面试题39:二叉树的深度
题目: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 思路: 根的深度=MAX(左子树深度,右子树深度)+1; Code: ...
- phpcms:四、尾部包含
四.尾部包含1.包含尾部文件:{template "content","footer"}2.栏目列表调用(关于我们| 联系方式| 版权声明| 招聘信息|):{p ...
- mount USB Device(U disk) on crux based on vmware
1. 在 /mnt 下建立一个名叫USB的文件夹,文件夹名自定 cd /mnt mkdir USB 2. 查看一下磁盘分区情况 fdisk –l 3. 插入U盘 4. 再次查看磁盘分区情况,对比第一次 ...