【问题标题】:Does specific IE rules in <head> works for JS too?<head> 中的特定 IE 规则是否也适用于 JS?
【发布时间】:2014-06-15 02:09:39
【问题描述】:

我想知道这段代码是否有效:

<!--[if lt IE 8]>
      <script src="/assets/v3/application_ie.js" type="text/javascript"></script>
      <link href="/assets/v3/application_ie.css" media="all" rel="stylesheet" type="text/css" />
    <![endif]-->

我总是看到这类规则只有 CSS,所以我想知道这里的 javascript。

【问题讨论】:

    标签: javascript html css head


    【解决方案1】:

    是的。

    在 HTML 中,&lt;!-- ... --&gt; 中包含的任何内容都是注释。此评论块中包含的任何内容都将被视为评论,不会呈现为 HTML(最终不会显示在页面上)。旧版本的 IE 将通过 HTML cmets 进行解析以查找其方括号表示法,如果匹配则将呈现其中的 HTML。

    但请注意,现代版本的 IE 不再支持此类条件 cmets。

    【讨论】:

    • modern 是什么意思? IE 太乱了,连 11 都不是现代的……
    • @Vadorequest “现代”一词指的是当今。 IE11 及以后的版本不支持这些条件语句。
    • 所以我猜他们会被忽略?它不会弄乱应用程序本身吗?
    • @Vadorequest 很确定——从个人经验来看——IE11(在撰写本文时)比 Chrome 更好。它可能不支持所有东西,但它支持的东西得到了更好的支持。你试过在 Chrome 中做 CSS 动画吗?
    • @Vadorequest 他们将被视为 cmets 仅此而已。
    【解决方案2】:

    您可以在条件注释中包含任何您想要的内容。

    <!--[if lt IE 8]><p>Update your damn browser!</p><![endif]-->
    

    但是有些人(比如我)会因为不得不让旧版浏览器正常工作而皱眉头;)如果你需要兼容性,你应该避免使用那些搞砸的功能。

    【讨论】:

    • 我不需要
    猜你喜欢
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 2012-11-24
    • 2019-04-06
    相关资源
    最近更新 更多