首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换IE 10+的IE条件语句

替换IE 10+的IE条件语句
EN

Stack Overflow用户
提问于 2014-06-10 20:51:59
回答 2查看 794关注 0票数 0

IE 10+不支持条件语句。这使得为IE7-11进行开发变得棘手,因为IE10-11解析条件语句中的内容,而不是忽略它。例如:

代码语言:javascript
复制
<!--[if (IE 9) | (IE 8)]><!-->
   // Code here will get rendered by IE10 & IE11
<!--<![endif]-->

所以,如果我想要一些只在IE8和9中渲染的代码,然后一些只在IE10,IE11和火狐中渲染的代码,我该怎么做呢?

编辑:请注意,我在这里不是在谈论样式;我想要支持我的网页中的重大结构变化。例如:

代码语言:javascript
复制
<!--[if (IE 9) | (IE 8)]><!-->
   <div>
      <div>
         Test
      </div>
   </div>
<!--<![endif]-->

<!--[if (IE 10]><!-->
   <div>
      <h3>Test</h3>
   </div>
<!--<![endif]-->
EN

回答 2

Stack Overflow用户

发布于 2014-06-10 21:12:49

我让这件事在我这方面起作用。看起来条件语句的格式是off。

代码语言:javascript
复制
<!--[if (IE 9) | (IE 8)]>
  Code here will not get rendered by IE10 & IE11
<![endif]-->

另外,你呈现的是哪种类型的代码,js,css?

票数 3
EN

Stack Overflow用户

发布于 2014-06-11 11:08:02

如果您只希望IE8/9呈现与其他所有浏览器不同的一组标记(这意味着IE10+接收与所有其他浏览器相同的代码),这是完全可行的:

  • 您需要对所有其他浏览器隐藏(IE 9) | (IE 8)条件。这意味着让注释部分封装整个代码块,而不仅仅是条件expressions.
  • You需要允许所有其他浏览器看到其他条件,同时防止IE8/9看到该部分。

(IE 10)部分很好;IE8和IE9将知道它们不满足条件,因此即使标记没有被注释掉,也不会呈现它,而IE10无论如何都看不到条件(以后的任何版本也是如此),所以它将呈现标记,因为它没有隐藏在注释中。

因此:

代码语言:javascript
复制
<!--[if (IE 9) | (IE 8)]>
   <div>
      <div>
         Test
      </div>
   </div>
<![endif]-->

<!--[if (IE 10)]><!-->
   <div>
      <h3>Test</h3>
   </div>
<!--<![endif]-->
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24141485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档