• IE下的异步JS测试


    test.html如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head id="head">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>test</title>
        <style type='text/css'>
            img
            {
                border: 1px solid red;
                display: block;
                height: 50px;
                50px;
            }
        </style>

        <script type='text/javascript'>
       //因为有些函数需要传参,所以将参数带进去
             function Exec(funcName,arr) {        
                if(typeof funcName =="string")
                {
                    //如果此函数已经被加载
                    if (window[funcName]) {   
                        window[funcName](arr);
                    } //如果函数没有被加载,则每隔0.1秒检查一次,直到加载完成
                    else {                
                        window.setTimeout(function() { Exec(funcName,arr) }, 1000);
                    }    
                }else
                {
                    funcName(arr);
                }
           }
           //可以这样调用:Exec(window.fun||"fun",[456]);

            function AppendJS(src, func) {

                var script = document.createElement("script");
                script.type = "text/javascript";
                script.src = src;
                if (script.readyState) {
                    
                    script.onreadystatechange = function() {
                    if (this.readyState == "loaded" || this.readyState == "complete") {
                          
                            if (func) {
                                func();
                            }
                        }
                    };
                } else {
                    if (func) {
                        script.onload = func;
                    }
                }
                document.getElementById('head').appendChild(script);

            }
            AppendJS("jquery-1.4.2.min.js", function() {
                // Fuck(); 这一句报错的几率很大,因为jquery-1.4.2.min.js加载完成了,但1.js可能还未加载完成,所以Fuck函数可能还未定义
                Exec(window.Fuck || "Fuck");//这一句不会报错,因为做了判断            
            });
            AppendJS("1.js", null);       
        </script>
    </head>
    <body id="bd">
        <div id="dd">
        </div>
    </body>
    </html>

    1.js如下:
    for (var i = 0; i < 2000000; i++) {
    }
    for (var i = 0; i < 1000000; i++) {
    }

    for (var i = 0; i < 100000; i++) {
    }

    function Fuck() {
        alert("fuck");
    }

  • 相关阅读:
    相机靶面尺寸详解+工业相机选型
    OpenCV 图像修复inpaint函数和图像去噪fastNlMeansDenoising系列函数
    OpenCV contourArea、arcLength 计算轮廓面积与长度
    OpenCV 轮廓提取findContours和drawContours
    OpenCV 光照矫正代码
    Qt $$PWD的意思
    最小二乘法拟合圆公式推导及VC实现
    OpenCV cornerSubPix 亚像素级角点检测
    OpenCV 去噪函数 fastNlMeansDenoising
    OpenCV 改变像素颜色
  • 原文地址:https://www.cnblogs.com/mxw09/p/1892181.html
Copyright © 2020-2023  润新知