JS 动态加载脚本 执行回调_转
2016-08-03 15:31
330 查看
关于在javascript里面加载其它的js文件的问题可能很多人都遇到过,但很多朋友可能并不知道怎么判断我们要加载的js文件是否加载完成,如果没有加载完成我们就调用文件里面的函数是不会成功的。本文讲解怎么在js中加载其它js文件并在加载完成后执行回调函数。
我们可以动态的创建 <script> 元素,然后通过更改它的 src 属性来加载脚本,但是怎么知道这个脚本文件加载完成了呢,因为我们有些函数需要在脚本加载完成生效后才能开始执行。
经过对网络上资源的搜索,我发现在 IE 浏览器中可以使用 <script> 元素的 onreadystatechange 来监控加载状态的改变,并通过判断它的 readyState 是 loaded 或 complete 来判断脚本是否加载完成。而非 IE 浏览器可以使用 onload 来直接判断脚本是否加载完成。
一个简单的实现过程看上去是下面这样的:
VCode
这里使用的是串联加载的函数,当然你也可以使用并联加载函数,这可以根据情况使用,建议每下一个脚本对上一个脚本有依赖性的使用串联加载,否则使用并联,因为原理上并联要比串联快那么些。
http://happyqing.iteye.com/blog/1821290
JQuery动态加载js的三种方法
我们可以动态的创建 <script> 元素,然后通过更改它的 src 属性来加载脚本,但是怎么知道这个脚本文件加载完成了呢,因为我们有些函数需要在脚本加载完成生效后才能开始执行。
经过对网络上资源的搜索,我发现在 IE 浏览器中可以使用 <script> 元素的 onreadystatechange 来监控加载状态的改变,并通过判断它的 readyState 是 loaded 或 complete 来判断脚本是否加载完成。而非 IE 浏览器可以使用 onload 来直接判断脚本是否加载完成。
一个简单的实现过程看上去是下面这样的:
var scripts = [ "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", "http://wellstyled.com/files/jquery.debug/jquery.debug.js" ]; //这两个文件分别是 jQuery 1.4.的库文件和 jQuery Debug 插件 //然后你可以使用下面的方法调用并在成功后执行回调了。 seriesLoadScripts(scripts,function(){ /* debug = new $.debug({ posTo : { x:'right', y:'bottom' }, width: '480px', height: '50%', itemDivider : '<hr>', listDOM : 'all' }); */ alert('脚本加载完成啦'); });
VCode
这里使用的是串联加载的函数,当然你也可以使用并联加载函数,这可以根据情况使用,建议每下一个脚本对上一个脚本有依赖性的使用串联加载,否则使用并联,因为原理上并联要比串联快那么些。
http://happyqing.iteye.com/blog/1821290
JQuery动态加载js的三种方法
相关文章推荐
- JS脚本动态加载,以及加载完成后执行回调
- JS 动态加载脚本并在下载完成后执行回调
- JS 动态加载脚本 执行回调
- JS动态加载脚本并执行回调操作
- JS 动态加载脚本 执行回调
- JS 动态加载脚本并在下载完成后执行回调
- 动态加载js文件并且执行回调方法
- JS脚本加载后执行相应回调函数的操作方法
- ajax回调函数动态加载的标签里面js事件不执行
- 原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
- 动态加载JS脚本的4种方法
- 动态加载JS脚本的4种方法
- 动态加载JS脚本的4种方法
- 动态加载JS脚本的4种方法
- 要实现动态加载JS脚本有4种方法
- 动态加载js脚本
- 动态加载JS脚本的4种方法
- 动态同步加载JS脚本
- ajax动态加载js,导致js不执行失效问题吻
- 关于Jquery,js脚本加载执行先后顺序的一些事