js兼容性异步加载封装

兼容性异步加载封装函数

 <!-- 考虑到兼容性 下面是兼容异步加载js -->
    <script>
        function loadScript(url,callback){//路径、要执行的函数名
        var script = document.createElement('script');
        script.type = 'text/javascript';
        // script.src = url//加载完毕到此为止,插入到页面才会执行  例如'geng.js'

        //   script.readyState='loaded'   状态码,ie独有,根据script标签加载进度,在loading和loaded之间变化
        
        // 兼容性异步加载
        
        if (script.readyState) {//ie
            script.onreadystatechange = function () {
                if (script.readyState == 'loaded' || script.readyState == 'complete') {
                    callbackt()
                    // 法二:callbackt()改为tools[callback]()
                }
            }
        } else {//非ie
            script.onload = function () {
                callback()//onload下载完才会执行,ie不兼容,没有onload方法
            //     法二:callbackt()改为tools[callback]()
                
            }
        }

      script.src = url

  document.head.appendChild(script);

       }
//   这里直接test()运行不出js里面函数
//   setInterval(function(){
//     test()//文件小可以执行,因为上面js下载要时间
//   },1000)

    // 调用函数的方法
//   法一:
    loadScript('geng.js',function(){
        test();
    })

    // 法二
   loadScript('geng.js','test')
    </script>

猜你喜欢

转载自blog.csdn.net/weixin_44022586/article/details/88723058