function loadScript(scriptArr){ if(scriptArr.length > 0){ var script = scriptArr[0]; jQuery.getScript(script,function(){ scriptArr.splice(0,1); loadScript(scriptArr); }); } } $(document).ready(function(){ $(function(){ $.ajax({ url: 'static/js/script.json', data: {}, type: 'get', async : false,/**同步*/ success : function(response) { if(response){ var scriptArr = eval('('+response+')'); if(scriptArr){ loadScript(scriptArr); } } }, error: function(response) { console && console.log("js json请求失败!"); } }) }); });
另外一种动态加载js?(有待进一步验证)
var JCore = { //构造核心对象 version : 1.0, $import : function (importFile) { var file = importFile.toString(); var IsRelativePath = (file.indexOf("$") == 0 || file.indexOf("/") == -1); //相对路径(相对于JCore) var path = file; if (IsRelativePath) { //计算路径,$开头表示使用当前脚本路径,/开头则是完整路径 if (file.indexOf("$") == 0) file = file.substr(1); path = JCore.$dir + file; } var newElement = null, i = 0; var ext = path.substr(path.lastIndexOf(".") + 1); if (ext.toLowerCase() == "js") { var scriptTags = document.getElementsByTagName("script"); for (var i = 0; ilength; i++) { if (scriptTags[i].src && scriptTags[i].src.indexOf(path) != -1) return; } newElement = document.createElement("script"); newElement.type = "text/javascript"; newElement.src = path; } else if (ext.toLowerCase() == "css") { var linkTags = document.getElementsByTagName("link"); for (var i = 0; ilength; i++) { if (linkTags[i].href && linkTags[i].href.indexOf(path) != -1) return; } newElement = document.createElement("link"); newElement.type = "text/css"; newElement.rel = "Stylesheet"; newElement.href = path; } else return; var head = document.getElementsByTagName("head")[0]; head.appendChild(newElement); }, $dir : function () { var scriptTags = document.getElementsByTagName("script"); for (var i = 0; ilength; i++) { if (scriptTags[i].src && scriptTags[i].src.match(/JCore/.js$ / )) { path = scriptTags[i].src.replace(/JCore/.js$ / , ""); return path; } } return ""; } }
相关推荐
一个js文件,实现动态加载js文件。在用extjs时,为了避免一次全部加载js文件而写的。
vue动态加载JavaScript:动态的创建Script元素,然后通过更改它的 src 属性来加载脚本,脚本文件加载完成后,在脚本加载完成生效后才能执行回调函数。
动态创建iframe,并动态添加js代码动态创建iframe,并动态添加js代码
本文档把js加载做成vue组件,便于在其他模块引用,符合vue整体思路,供大家参考借鉴
这是动态加载外部JS文件,很不错的例子哦!
Ext4 动态加载js例子 Ext4 动态加载js例子 Ext4 动态加载js例子 Ext4 动态加载js例子
动态加载JS脚本的动态加载JS脚本的动态加载JS动态加载JS脚本的4种方法.doc方法.doc
可以通过extjs3进行动态加载js,也可以直接通过原生js进行调用 拥有extjs4的动态加载功能, 可以同时加载多个js文件, 同时加载过的文件不会重复加载
asp.net动态加载JavaScript树
本例采用ASP.NET MVC3 +EXTJS4 MVC 框架,完美实现了EXTJS4动态加载JS文件,对ASP.NET MVC3及EXTJS4 MVC 各应用要点进行了应用。对于想采用ASP.NET MVC3 +EXTJS4 MVC 框架的学习者有很好的帮助,快速掌握MVC框架,本...
动态加载js文件,让js文件实现用不到绝不加载的功能!
1、动态加载js,css文件(用原生js和jquery) iframe结构: frame0(父) frame2(子) frame3(子) frame2中触发事件,动态的向frame3中 加载js、css文件和 dom元素? *同级之间可以调用,可以 通过 子-父-子 的方式...
【JavaScript】vue动态加载JavaScript 高级JavaScript组件 【实例简介】vue动态加载JavaScript 【JavaScript】vue动态加载JavaScript 高级JavaScript组件
动态加载JS文件和CSS文件,多浏览器支持。多个JS文件同时加载,加载完成后执行回调方法。 使用方法: var loader=new RemoteLoader(); loader.loadFiles(["yy.js","jj.jus"],作用域);
1.如何动态加载js文件。 2.在函数定义无形参名称时,如何向函数传递参数。 add_jsfile.jsh和add_jsfile_1.js的区别: 对js标签的ID名称的命名方法不一样,其他一样。 在函数名中没写参数名, 调用时仍然可以传入...
动态添加js,动态添加表格和删除表格,批量添加记录,批量添加
以下是遇到的几种动态加载JavaScript文件的方式,持续更新中。。。 一、使用[removed]/writeln()方式 该种方式可以实现js文件的动态加载,原理就是在重写文档流,这种方式会导致整个页面重绘。 实现方式: 代码如下...
(1)使用JavaScript动态加载Js文件 /*JavaScript动态加载Js文件*/ var scriptNode = document.createElement('script'); scriptNode.src = 'proxy.js?t='+new Date().getTime();/*附带时间参数,防止缓存*/ ...
javascript、css动态加载工具