一、原生js:
/*** 加载js和css文件* @param jsonData.path 前缀路径* @param jsonData.url 需要加载的js路径或css路径* @param jsonData.type 需要加载的类型 js或css*/function loadWriteFiles(jsonData){jsonData.path = jsonData.path != undefined ? jsonData.path : "";if(jsonData.type == "js"){document.writeln("<script type='text/javascript' src='"+ jsonData.path + jsonData.url+"'></script>");}else if(jsonData.type == "css"){document.writeln("<link rel='stylesheet' href='"+jsonData.path + jsonData.url+"' type='text/css' />");}}/*** 加载js或css到head中* @param jsonData.path 前缀路径* @param jsonData.url 需要加载的js路径或css路径* @param jsonData.type 需要加载的类型 js或css*/function loadFilesToHead(jsonData){jsonData.path = jsonData.path != undefined ? jsonData.path : "";if(jsonData.type == "js"){var _js = document.createElement("script");_js.setAttribute("type", "text/javascript");_js.setAttribute("src", jsonData.path + jsonData.url);_js.onload = _js.onreadystatechange=function(){ if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){ if("function" == typeof(jsonData["callback"]) && jsonData["callback"]){jsonData["callback"].call(this);}} _js.onload=_js.onreadystatechange=null; } document.getElementsByTagName("head")[].appendChild(_js);//追加到head标签内}else if(jsonData.type == "css"){var _css = document.createElement("link");_js.setAttribute("type", "text/css");_css.setAttribute("rel", "stylesheet");_css.setAttribute("href", jsonData.path + jsonData.url);document.getElementsByTagName("head")[].appendChild(_css);//追加到head标签内}}二、jquery版本:
采用deferred对象返回结果
以上所述是小编给大家介绍的动态加载js、css的实例代码,希望对大家有所帮助!