手机版

利用jQuery的延期的对象实现异步按顺序加载射流研究…文件

时间:2021-11-22 来源:互联网 编辑:宝哥软件园 浏览:

前段时间看了阮一峰的jQuery的延期的对象详解一文,对jQuery中的延期的的用法了一些了解,今天看到园子里的一篇文章:关于重构射流研究…前端框架的失败经验(顺便怀念那些死去的代码),于是把我之前写的一个利用jQuery的延期的异步按顺序加载射流研究…文件方案分享出来,欢迎指正。如果你现在对jQuery中的延期的还不了解,强烈建议你看一下阮一峰的jQuery的延期的对象详解一文。加载射流研究…文件的代码如下:复制代码代码如下: /*异步加载JavaScript loadscript。load([' a . js ',' b . js ']);*/var Loadscript=(function(){ var Loadone=function(URL){ var dtd=$ .递延();var node=文档。create element(' script ');节点。type=' text/JavaScript ';var onload=function(){ dtd。resolve();};$(节点)。负载(空载)。bind('readystatechange ',function(){ if(node。readystate==' loaded '){ onload();} });文件。getelementsbytagname(' head ')[0].appendChild(节点);node.src=urlreturn dtd。诺言();};var load=函数(URL){ if(!$.isArray(URL)){ 0返回加载([URL]);} var ret=[];for(var I=0;I URL . lengthi){ ret[I]=LoAdOne(URL[I]);};return $.when.apply($,ret);}返回{ load : load };})();代码比较简单,这里就不解释了,下面给个调用示例。例如项目中有两个射流研究…文件:a.js和b.js,代码如下:a.js:复制代码代码如下: var a='我在a . js ';var b='我在a.js中;b.js:复制代码代码如下: var a='我在b . js ';var b='我在b.js中;如果我们想先载入b.js,后载入a.js,示例代码如下:复制代码代码如下:DOCTYPE html html head meta charset=' utf-8 '标题加载JavaScript异步/title脚本src=' http :http://Ajax。谷歌API。com/Ajax/libs/jquery/1。8 .2/jquery。量滴js ' type=' text/JavaScript '/script script src=' http : jls。js ' type=' text/JavaScript '/script/head body script type=' text/JavaScript done(function(){ test();});函数test(){ console.log('var a=' a ',var b=' b ');}/脚本/正文/html结果如下

这里我们可以看到,b.js中定义的变量被a.js中的覆盖了。转到元素面板,我们可以看到b.js和a.js被顺序地加到了头中

对此类问题,欢迎大家分享自己的方案。

版权声明:利用jQuery的延期的对象实现异步按顺序加载射流研究…文件是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。