zoukankan      html  css  js  c++  java
  • IE条件注释

    页面根据是否IE浏览器来决定载入的js及版本:

    非ie时=》

        <!--[if !IE]> <-->
        <script src="/assets/js/jquery-3.2.0.min.js" type="text/javascript"></script>
        <!--> <![endif]-->

    ie时(特定版本)=》

        <!--[if lt IE 9]>
        <script src="/assets/js/html5shiv.min.js"></script>
        <script src="/assets/js/respond.min.js"></script>
        <script src="/assets/js/jquery-1.9.0.min.js"></script>
        <![endif]-->
        <!--[if gte IE 9]>
        <script src="/assets/js/jquery-2.1.4.min.js" type="text/javascript"></script>
        <![endif]-->

    ie时=》

    <!--[if IE]>
        <script>window.isie = true;</script>
        <![endif]-->

    非ie时=》

        <script>window._isie_ = false;</script>
        <!--[if IE]>
        <script>window._isie_ = true;</script>
        <![endif]-->
        <script>
            (function () {
                if (!window._isie_) {
                    var script = document.createElement('script');
                    script.type = 'text/javascript';
                    script.onload = script.onreadystatechange = function () {
                        if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") {
                            // Handle memory leak in IE
                            script.onload = script.onreadystatechange = null;
                        }
                    };
                    script.src = '/assets/js/jquery-3.2.0.min.js';
                    window.document.getElementsByTagName('head')[0].appendChild(script);
                }
            })();
        </script>

    js注释:

    <script type="text/javascript">
    /*@cc_on
     @if (@_jscript)
         // 该代码位于一条JS朱室内但在IE中执行它
         alert('In IE');
     @end     
     @*/
     
     /*@cc_on
     @if (@_jscript)
        // 该代码位于一条JS朱室内但在IE中执行它
         alert('In IE');
     @else*/
         alert('is not in IE');
     /*@end
     @*/
    </script>

    在非IE下 弹出消息框 is not in IE,在IE下则弹出了对话框 In IE。这里用到了能力检测  

    '@_jscript'

    是IE的javascipt解释器,总是为true(脚本中变量都能转换为0或1,true or false,表示存在这个变量,存在这种能力)

    建议开发者在开发过程中尽量用能力检测代替浏览器检测。

  • 相关阅读:
    flowable的多人会签和一票否决
    排序
    Java数组的三种打印方式
    CF446B DZY Loves Modification(优先队列)
    2019CCPC哈尔滨 Interesting Permutation(思维)
    2019沈阳网络赛 Fish eating fruit (换根dp)
    AcWing287 积蓄程度(换根dp)
    CF1358E Are You Fired?(前缀和+贪心)
    android android studio error
    cocos2D-X 打包
  • 原文地址:https://www.cnblogs.com/glzgc/p/8012648.html
Copyright © 2011-2022 走看看