JS工具类——Js动态加载类
function JsLoader(){}; JsLoader.loaded = []; JsLoader.prototype = { _path : null,//要加载的JS的路径 _head : null,//文档对象的head头对象 /** * 主要调用方法. */ require : function(jsPath,callback) { if(!this._check(jsPath))return false; if(this._isload(jsPath))return true; this._ajaxLoad(callback); return true; }, load : function(jsPath,callback) { return this.require(jsPath, callback); }, _check : function(jsPath) { if(!jsPath) { alert('请指定要加载的JS路径!'); return false; } var head = document.getElementsByTagName('head'); if(!head||head.length<1) { alert('文档对象document必须有HEAD头!'); return false; } this._path = jsPath; this._head = head[0]; return true; }, _isload : function(jsPath) { for(var i=0; i<JsLoader.loaded.length; i++) { if(JsLoader.loaded[i].toLowerCase()==jsPath.toLowerCase()) return true; } JsLoader.loaded[JsLoader.loaded.length]=jsPath; return false; }, _ajaxLoad : function(callback) { var head = this._head; base.request(this._path,function(xmlHttp, error) { var script = document.createElement('script'); script.type = "text/javascript"; script.text = xmlHttp.responseText; head.appendChild(script); if(!callback)return; try{ if(typeof(callback)=='function') callback(); else eval(callback); }catch(ex){alert(ex.message);}; }); } };