js 动态加载js、css 并支持回调

    // 动态加载外部js文件,并执行回调
    loadJS: function(url, callback){
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = url;
        if(typeof callback == 'function'){
            script.onload = script.onreadystatechange = function(){
                if(!this.readyState || this.readyState == 'loaded'
                                    || this.readyState == 'complete'){
                    callback();
                    script.onload = script.onreadystatechange = null;
                }
            }
        }
        document.body.appendChild(script);
        //document.getElementsByTagName('body')[0].appendChild(script);
    },
    // 行内方式动态加载js代码
    loadJSText: function(jsText){
        var script = document.createElement('script');
        script.type = 'text/javascript';
        try {
            // Firefox,Safari,Chrome,Opera支持
            script.appendChild(document.createTextNode(jsText));
        } catch(ex){
            // IE早期的浏览器,需要使用script的text属性来指定js代码
            script.text = jsText;
        }
        document.body.appendChild(script);
    },
    // 动态加载外部CSS文件
    loadCSS:function(url){
        var link = document.createElement('link');
        link.rel = 'stylesheet';
        link.type = 'text/css';
        link.url = url;
        document.getElementsByTagName('head')[0].appendChild(link);
    },
    // 使用<style>标签包含嵌入式CSS
    loadCSSText: function(cssText){
        var style = document.createElement('style');
        style.type = 'text/css';
        try{
            // Firefox,Safari,Chrome,Opera支持
            style.appendChild(document.createTextNode(cssText));
        } catch(ex){
            // IE早期浏览器,需要使用style元素的styleSheet属性的cssText属性
            style.styleSheet.cssText = cssText;
        }
    }
}

参考 https://segmentfault.com/a/1190000015694055

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1-------- 走进前端 2-------- jQuery 3-------- CSS 4-------- A...
    依依玖玥阅读 6,865评论 0 34
  • 1、工作中常用的小功能 草料二维码生成器 http://cli.im/在线二维码解码器 http://jie...
    愿你如夏日清凉的风阅读 7,713评论 0 9
  • 前端知识结构https://github.com/JacksonTian/fks Web前端开发大系概览https...
    柴东啊阅读 4,714评论 0 10
  • 第一次遭遇活蹦乱跳的骗子,给周末增加了几分欢乐...记录一下,同时也给不了解的亲朋好友提醒下:任何转账截图皆不可信...
    imtang阅读 7,336评论 0 1
  • 《求雨》文中最让人感动的一幕是:又饿又困的孩子们敲着锣鼓唱着歌,缓缓地走在街道上,“过路的行人放慢了脚步,...
    羽一教育肖莉丽阅读 3,954评论 0 0