确认js文件载入完全的方法
来源:互联网 发布:淘宝免单是真的吗 编辑:程序博客网 时间:2024/04/28 22:11
function loadScript(url, callback) { var script = document.createElement("script"); script.type = "text/javascript"; // 如果存在readyState属性 if(script.readyState) { script.onreadystatechange = function() { if(script.readyState == "loaded" || script.readyState == "complete") { script.onreadystatechange = null; // 移除事件处理器,以免在其他状态阶段被触发 callback(); } } // 否则使用onload事件,当元素加载完全后触发onload事件 } else { script.onload = function() { callback(); } } // 设置了src属性并且添加到DOM树上后js文件才开始下载 script.src = url; document.getElementsByTagName("head")[0].appendChild(script); } loadScript("hello.js", function(){ alert("loadScript.js loaded completely!"); });
以上代码中的loadScript()函数创建一个“script"元素,然后判断script是否有readyState属性,如果有则可以给readystatechange事件绑定事件处理器,当script.readyState为"loaded"或"complete"时表示script载入完全。为了避免readyState在其他阶段时反复触发事件处理器(如loading,interactive,uninitialized),需要移除事件处理器,然后才调用回调函数。(Js高级程序设计P392)
需要注意的是script中的脚本文件只有在设置了src属性,并且被添加到DOM树上之后才会开始下载,所以需要在此之前绑定事件处理器。
另外可以使用元素的load事件,load事件的触发条件是在元素完全载入之后,即在script包含的js文件下载完毕后被触发。所以可以给load事件绑定一个事件处理器,当js文件完全载入后执行该函数。(Js高级程序设计P364)
//如何让脚本的执行顺序遵守你设定的顺序,应用嵌套的格式: loadScript("file1.js", function() { loadScript("file2.js", function() {loadScript("file3.js", function() { alert("All files are loaded"); }); }); });
- 确认js文件载入完全的方法
- THINKPHP载入CSS和JS的方法
- webview载入js文件
- 载入JS 和 载入CS2方法
- javascript 动态载入js文件
- 动态载入js、css文件
- 支持几乎所有浏览器的js载入xml文件
- 提交确认的js
- JS确认提交confirm方法
- AJAX 载入JS文件,载入CSS文件,载入JS函数,执行JS 。ASP应用
- AJAX 载入JS文件,载入CSS文件,载入JS函数,执行JS 。ASP应用
- 删除确认提示的两种js方法
- 载入Properties的方法
- 一种载入.bmp文件到资源视图的投机方法
- 在Ogre中载入OgreMax场景文件的方法
- 在Ogre中载入OgreMax场景文件的方法[转]
- Ogre中载入OgreMax场景文件的方法
- 在Ogre中载入OgreMax场景文件的方法[转]
- malloc函数的实现
- cocos2d-x离线文档下载
- 网络服务器-Loopback (Internet Sockets) VS UNIX Domain Sockets
- linux下解压命令大全
- 常用排序算法总结
- 确认js文件载入完全的方法
- DHCP
- Ubuntu 中文输入法
- linux ln 创建文件链接使用方法
- img 直方图均衡化
- java基础----面向对象3(常用类的总结)
- 学科前沿技术(top500,green500,graph500)
- 预处理命令之条件编译
- 第五次上机实验任务