【问题标题】:Conditional comment for 'Except IE8'?“IE8 除外”的条件注释?
【发布时间】:2010-12-14 02:37:46
【问题描述】:

我正在使用<!--[if IE 8]><![endif]--> 来定位 IE8,但是我想为除 IE8 之外的所有浏览器加载一些 JS,我应该使用什么条件注释?

编辑:我想知道这是否可行:<!--[if lte IE 8]><![endif]-->

谢谢

【问题讨论】:

  • lte 选项将在 8.0 之前的 IE 中包含 JS,但在非 IE 浏览器中不包含。
  • LTE 表示小于或等于。如果您想要严格小于,请改用 LT。

标签: javascript html internet-explorer-8 comments conditional


【解决方案1】:

我想为除 IE8 之外的所有浏览器加载一些 JS,我应该使用什么条件注释?

要让某些内容出现在不支持 CC 的“其他浏览器”中,您需要一个 downlevel-revealed 条件注释。

<!--[if !IE 8]><!-->
    ....
<!--<![endif]-->

(这与微软的官方语法略有不同,它不是有效的 HTML。)

“除 IE8 之外的所有浏览器”是一个不寻常的要求,你确定这是你想要的吗? IE 的未来版本呢?

【讨论】:

  • +1 这是嵌套 cmets 的绝妙技巧。
  • 如果你想在未来的 IE 版本中隐藏它,我假设你可以将你的代码与 if "gte IE 8" 一起使用,对吧?
  • @ph33nyx:是的,这将是一种比 if !IE8 更常见的测试。
【解决方案2】:

我能想到一个窍门。在 IE 条件标记内设置一个变量,如果没有设置该变量,则包含您的 JS 代码。

<script>
    var ie8 = false;
</script>

<!--[if IE 8]>
    <script>
        ie8 = true;
    </script>
<![endif]-->

<script>
    if (ie8 == false) {
        // any code here will not be executed by IE 8
        alert("Not IE 8!");
    }
</script>

【讨论】:

  • 我遇到的这个问题的最佳解决方案,我应该知道。我花了一整天的时间试图用纯粹的条件语句来做到这一点!
  • 这是一个很好的把戏,悉达多。并且能够让你的思绪回到时间的尘埃中,即 IE ;)
  • stackoverflow.com/a/10532958/1010918 是相关的,因为它需要用 js 加载特定的 CSS 文件,很好的答案,谢谢!
【解决方案3】:

尝试否定,[if !IE 8] 或许?

【讨论】:

  • 然后IE9出来了,你会有相当有趣的行为。当然,在这一点上,如果 IE 显示彩虹和独角兽而不是我想要的,我不会感到惊讶。
猜你喜欢
  • 2013-09-08
  • 2010-09-15
  • 2011-03-03
  • 2013-06-08
  • 2011-10-02
  • 2011-03-03
  • 2011-10-23
  • 2010-11-20
  • 2015-10-21
相关资源
最近更新 更多