我一直在驾驶自己的坚果试图获得有条件的条件工作,我没有任何运气有人可以解释我做错了什么?
这是我的代码:
<!--[if IE 10]> IE IS VERSION 10<br /> <![endif]--> <!--[if !IE]><!--> Browser is not IE <!--<![endif]--> <!--[if lt IE 9]> IE IS LESS THAN VERSION 9<br /> <![endif]-->
发生的是令人沮丧的不一致.当我在IE8中加载上面的代码的页面时,会收到“IE不到9版本”的消息吗?不,因为当我在IE10中加载相同的页面时,我得到消息“浏览器不是IE”
解决方法
IE 10不支持条件语句.
它将会将条件注释视为常规的HTML注释,完全忽略.
如果您需要定位IE10,请转至Cross browser best practises – 使用功能检测库(如Modernizr),而不是浏览器检测.
在comment impressivewebs发现了一个解决方案:
解决办法是:
if (Function('/*@cc_on return document.documentMode===10@*/')()) { alert('IE 10'); } else { alert('Not IE 10'); }
它
>不需要条件注释;>工作即使评论剥离压缩/处理;> no ie10类添加到Internet Explorer 11中;>更有可能按照Internet Explorer 11在Internet Explorer 10兼容模式下运行的方式工作;>不需要独立的脚本标签(可以只添加到头上的其他JavaScript代码).>不需要jQuery来测试