标题 | 动态加载javascript功能模块 |
范文 | 动态加载javascript功能模块,具体代码如下: /** * 生成命名空间 * @param {String} str 要生成的命名空间字符串 * 如果要生成com.google命名空间,就使用Msw.ns("com.google") */ if(!window.Msw) Msw = {}; Msw.ns = function(){ var ns=function(n, o){ if(n.length == 0) return; if(!o[n[0]]) o[n[0]] = {}; ns(n.slice(1, n.length), o[n[0]]); } //str 要生成的命名空间字符串 return function(str){ if(typeof str != 'string' || str.length == 0) return; str = str.split('.'); ns(str,window); } }(); Msw.ns('Msw.util'); /** * 加载所指定的JS文件 * @param {String} url 要加载的JS文件 * @param {function} resultFN 加载成后执行的方法 * @param {function} faultFN 加载失败后执行的方法 * @return {boolean} 返回是否已经加载过 * Msw.util.ajaxJS.load(url, resultFN, faultFN); * * @param {String} url 要加载的JS文件 * @return {boolean} 返回是否已经加载过 * Msw.util.ajaxJS.isLoad(url); */ Msw.util.ajaxJS = function(){ var jss, ajax, isLoad; jss = []; //用于存储加载成功的JS ajax = function (url, resultFN, faultFN) { var xmlHttp; var strInnerHTML; try{ if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); } }catch(e){alert("晕");} //xmlHttp.open("post",url,true); xmlHttp.open("get",url,true); //xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencode"); xmlHttp.onreadystatechange = function () { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200){ !isLoad(url) && jss.push(url); //if(!isLoad(url)) jss.push(url); resultFN(xmlHttp.responseText,xmlHttp); }else{ faultFN(xmlHttp); } } }; xmlHttp.send(null); }; isLoad = function(url) { for(var i = 0; i < jss.length; i ++){ if(jss[i] == url){ return true; } } return false; }; return { load: function(url, resultFN, faultFN){ if(url == null || url == "" || isLoad(url)) return true; new ajax(url, resultFN, faultFN); return false; }, isLoad: function(url){ return isLoad(url); } }; }(); |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。