异步动态加载script
来源:互联网 发布:xenoverse 2 mac 编辑:程序博客网 时间:2024/06/11 18:36
首先是应用场景:因为项目需要,通过HTTP请求加载另一个项目的js文件并调用该js文件的方法;
实现思路:首先用document创建script并设置各个属性,使用Ajax获取该文件的地址并赋值,调用改js方法;
实现问题:必须要先去获取js文件才能调用改js的方法,由于是异步加载,所以无法保证是否在加载完之后调用该文件中的方法;
解决思路:创建script标签并在该创建函数里加入回调函数,在回调函数里判断该文件是否加载成功,成功则在回调函数里调用该文件中的方法
附上代码:
//动态插入script标签 function createScript(url, callback){ var oScript = document.createElement('script'); oScript.type = 'text/javascript'; //oScript.async = true; oScript.src = url; /* ** script标签的onload和onreadystatechange事件 ** IE6/7/8支持onreadystatechange事件 ** IE9/10支持onreadystatechange和onload事件 ** Firefox/Chrome/Opera支持onload事件 */ // 判断IE8及以下浏览器 var isIE = !-[1,]; if(isIE){ oScript.onreadystatechange = function(){ if(this.readyState == 'loaded' || this.readyState == 'complete'){ callback(); } } } else { // IE9及以上浏览器,Firefox,Chrome,Opera oScript.onload = function(){ callback(); } } document.body.appendChild(oScript); }
方法大家应该都能看懂,根据浏览器不同调用不同的插入方法;
调用该方法:
createScript(data.ssoJsUrl, function(){ });
完毕;
0 0
- 异步动态加载script
- 动态加载SCRIPT文件
- 动态加载SCRIPT文件
- 动态加载script
- 动态加载script文件
- 动态加载script文件
- 动态加载script标签
- Script文件异步加载方法
- 关于异步加载script脚本
- 浅谈JavaScript异步加载的三种方式——async和defer、动态创建script
- 浅谈JavaScript异步加载的三种方式——async和defer、动态创建script
- 动态加载SCRIPT文件(转)
- script标签的动态加载
- HTML5 <script>元素async,defer异步加载
- HTML5 <script>元素async,defer异步加载
- HTML5 <script>元素async,defer异步加载
- HTML5 <script>元素async,defer异步加载
- HTML5 <script>元素async,defer异步加载
- Windows下java memcached 使用
- Android自定义控件实战——滚动选择器PickerView
- 【编程习题★★★☆☆】寻找数组中元素间最大差值
- 网页特效与交互
- EWM RF 开发常用代码
- 异步动态加载script
- Flash Attributes in Spring MVC 3.1
- [Objective-C] isKindOfClass 和 class 方法
- ios教程(4)--九宫格布局实现一个小案例
- hexdump命令使用
- 有关head->next = p;和p=head->next;之间的区别
- COM中GUID和UUID、CLSID、IID
- ClassNotFoundException, org.jboss.netty.channel.ChannelPipelineFactory 缺少jar包【远程调用dubbo分布式服务框架遇到的问题】
- spring和hibernate指定DB2数据库schema的方法