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,表示存在这个变量,存在这种能力)

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

  • 相关阅读:
    开发中常用的JS知识点集锦
    浏览器音频兼容和ffmpeg的音频转码使用
    web页面和小程序页面实现瀑布流效果
    微信小程序之支付密码输入demo
    Mac安装nginx配置过程
    前端工具mock的使用
    汇编语言学习
    Swift学习笔记
    如何快速融入团队并成为团队核心(四)
    如何快速融入团队并成为团队核心(三)
  • 原文地址:https://www.cnblogs.com/glzgc/p/8012648.html
Copyright © 2011-2022 走看看