zoukankan      html  css  js  c++  java
  • 动态加载JS或CSS

    动态加载JS,支持回调:

    // 动态加载script标签内容
    function loadScript(src, callback, charset) {
            var script = document.createElement('script');
            script.setAttribute('language', 'javascript');
    	if (charset) {
    	        script.setAttribute('charset', charset);
    	}
    	script.setAttribute('src', src);
    	document.getElementsByTagName("head")[0].appendChild(script);
    	if(document.all) {
    		script.onreadystatechange = function() {
    			if(this.readyState == 4 || this.readyState == 'complete' || this.readyState == 'loaded') {
    				callback();
    			}
    		};
    	} else {
    		script.onload = function() {
    			callback();
    		};
    	}
    }
    

     动态加载JS和CSS集合:

    /*
     * o的结构 {js:['a.js'],css:['a.css'],callback:function(){}}
     */
    Common.jsCssLoadRun = function(o) {
    	var count = 0;
    	var scriptTag, linkTag;
    	var scriptFiles = o.js;
    	var cssFiles = o.css;
    	var head = document.getElementsByTagName('head')[0];
    
    	for ( var k = 0; k < cssFiles.length; k++) {
    		linkTag = document.createElement('link');
    		linkTag.type = 'text/css';
    		linkTag.rel = 'stylesheet';
    		linkTag.href = cssFiles[k];
    		head.appendChild(linkTag);
    	}
    
    	for (k = 0; k < scriptFiles.length; k++) {
    		scriptTag = document.createElement('script');
    		scriptTag.type = 'text/javascript';
    		scriptTag.charset = 'utf-8';
    		scriptTag.src = scriptFiles[k];
    		head.appendChild(scriptTag);
    		if (typeof o.callback == "function") {
    			if (scriptTag.readyState) { // IE
    				scriptTag.onreadystatechange = function() {
    					if (scriptTag.readyState == "loaded"
    							|| scriptTag.readyState == "complete") {
    						count++;
    						if (count == scriptFiles.length)
    							o.callback.call();
    					}
    				};
    			} else { // other browsers
    				scriptTag.onload = function() {
    					count++;
    					if (count == scriptFiles.length)
    						o.callback.call();
    				};
    			}
    		}
    	}
    
    	if (scriptFiles.length == 0) {
    		o.callback.call();
    	}
    };
    

     多浏览器支持情况,可参考这里

  • 相关阅读:
    Shell xargs
    I2C总线图
    JS判断输入的字符串是否为数字
    CDN
    ④.linux基础之"字符集"
    01创建证书和环境准备
    梦的蒲公英
    java web项目部署遇到的jar cannot read的问题
    textbox icon jquery 插件
    解决双硬盘安装windows出现“安装程序无法定位现有系统分区,也无法创建新的系统分区”错误
  • 原文地址:https://www.cnblogs.com/xyd21c/p/2532743.html
Copyright © 2011-2022 走看看