JS脚本动态加载,以及加载完成后执行回调
来源:互联网 发布:qq炫舞 mac 编辑:程序博客网 时间:2024/05/16 01:31
document.getElementById("uccenter").innerHTML=data.ucString; var myDivScript = document.getElementById("uccenter").getElementsByTagName("script").item(0); var myDivScript2 = document.getElementById("uccenter").getElementsByTagName("script").item(1); var newScript = document.createElement("script"); var newScript2 = document.createElement("script"); newScript.setAttribute("src",myDivScript.getAttribute("src")); newScript.setAttribute("reload",myDivScript.getAttribute("reload")); newScript.innerHTML = myDivScript.innerHTML; document.getElementsByTagName("HEAD").item(0).appendChild(newScript); newScript.onload = newScript.onreadystatechange = function(){ newScript2.setAttribute("src",myDivScript2.getAttribute("src")); newScript2.setAttribute("reload",myDivScript2.getAttribute("reload")); newScript2.innerHTML = myDivScript2.innerHTML; document.getElementsByTagName("HEAD").item(0).appendChild(newScript2); newScript2.onload = newScript2.onreadystatechange = function(){ window.location.reload(); }; };
这段代码动态的创建2个js脚本,脚本是由ajax获取到服务器action返回的2段js脚本。
获取之后,先创建2个js对象
var newScript = document.createElement("script");var newScript2 = document.createElement("script");
然后是动态加载这两个js对象,加载完毕之后刷新页面。因为这里是要动态把js对象加载到页面head中,让它们执行。如果在加载完之前就刷新页面,那么就无法达到执行两端js代码的目的。所以需要在两个js对象都加载完毕之后再执行刷新操作。
这里是串行的加载:
newScript.onload = newScript.onreadystatechange = function(){newScript2.onload = newScript2.onreadystatechange = function(){ window.location.reload(); };}
如果要实现并行加载,则要加一个加载计数变量,用来在每个js对象的加载完毕事件中判断是否所有的js代码都加载完毕了。
0 0
- JS脚本动态加载,以及加载完成后执行回调
- JS 动态加载脚本并在下载完成后执行回调
- 如何在页面加载完成后执行js脚本
- 认识DOM和DOM加载过程以及如何让DOM加载完成后再执行js脚本文件
- 认识DOM和DOM加载过程以及如何让DOM加载完成后再执行js脚本文件
- 页面加载完成后执行js代码
- 页面加载完成后执行JS代码
- 让页面加载完成后执行js
- 实现页面加载完成后执行js
- js页面加载完成后加载JS脚本方法
- js中动态加载js并且判断加载完成执行回调函数
- 页面加载完成后再执行JS的jquery写法以及区别说明
- 页面加载完成后再执行JS的jquery写法以及区别说明
- 页面加载完成后再执行JS的jquery写法以及区别说明
- 3种页面加载完成后再执行JS的jquery写法以及区别说明
- 页面加载完成后再执行JS的jquery写法以及区别
- js监控页面加载完成后执行action【…
- 当页面完全加载完成后执行一个js函数
- MFC半透明按钮,修改
- Velocity 保留小数点后两位
- Verilog状态机的编写学习
- 详解Android中AsyncTask的使用
- va_start和va_end使用详解
- JS脚本动态加载,以及加载完成后执行回调
- 花开花谢 岁月如梭
- sort与qsort的cmp区别
- Oracle 11g单实例GI and DB升级
- 滚动控件(ScrollBar)
- SOA 好好了解下
- jquery 打开新窗口链接
- PhoneGap快速上手 - 基于eclipse环境搭建、部署(图解)
- 设定UISegmentControl的文字属性