嘿嘿,在本月早些时候IE9发布之后对系统进行了一些修复。只是想知道是否有其他人遇到了与条件评论和IE9相同的问题,如果我的问题有更好的解决方法。
众所周知,条件注释可以作为IE浏览器的解决方法。 IE9似乎打破了这一点。我正在测试一个特定于IE9的脚本(特别是document.createElement(“< input name ='something'>”);在IE9中打破但这是一个不同的问题),我需要为IE 6& amp;所以我这样做了:
<!--[if IE 6]>
<script type="text/javascript">
var ie6 = true;
</script>
<![endif]-->
<!--[if IE 7]>
<script type="text/javascript">
var ie7 = true;
</script>
<![endif]-->
在IE9中,ie6和ie7都是真的。 WTF。
我的解决方法是将其更改为下面的条件注释反转逻辑,然后执行if(!ie9plus)。
<!--[if gte IE 9]>
<script type="text/javascript">
var ie9plus = true;
</script>
<![endif]-->
有更好的解决方法吗?我们是否应该对IE开发团队大吼大叫,以打破网络调试的这一重要方面?
编辑:经过进一步测试,似乎是编码问题。不知何故,该文件编码错误,它打破了条件评论。当我将注释更改为IE9时,我也修复了文件编码。 IE9实际上确实正确支持条件注释。抱歉FUD。
答案 0 :(得分:1)
IE blog表示他们仍在工作。但是,它们与渲染模式相关联,可以是7
或9
(前者在compat视图中)。
IE团队不鼓励使用条件评论,因为它们适合浏览器,而不是检测功能。但是,这可能主要是考虑Javascript。