类加载器

    /**
     * 类加载器(IE9以上版本)
     */
    window.require = function(paths,complete)
    {
        
        /**
         * HEAD
         */
        var head  = document.getElementsByTagName('head')[0];
        
        
        /**
         * 计数器
         */
        var count = 0;
        
        
        /**
         * LOAD
         */
        function load()
        {
            
            /**
             * 屏蔽重加载
             */
            var scripts = document.getElementsByTagName('script');
            
            for(var i in scripts)
            {
                if(scripts[i].src)
                {
                    if(scripts[i].src.replace('http://'+location.host,"") == paths[count]+'.js')
                    {
                        console.log('JS文件重复加载:'+paths[count]+'.js');
                    }
                }
            }
            
            
            /**
             * 加载
             */
            var script = document.createElement('script');
            script.type = 'text/javascript';
            script.src  = paths[count]+'.js';
            
            script.onload = function(e)
            {
                count +=1;
                
                if(count !== paths.length)
                {
                    load();
                }
                else
                {
                    complete();
                }
            }
            
            head.appendChild(script);
        }
        
        load();
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容