图片及js的预加载

loadImage : function (url, dataObj, callback, errorCallback) {var self = this;var img = new Image(); //创建一个Image对象,实现图片的预下载img.src = url;if(img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数
                callback.call(img,dataObj);return; // 直接返回,不用再处理onload事件
            }img.onload = function () { //图片下载完毕时异步调用callback函数。callback.call(img,dataObj);//将回调函数的this替换为Image对象
            };if(typeof errorCallback === 'function'){img.onerror = function () {errorCallback.call(img,dataObj);};}}

 

 

 

function loadScript(url, callback){var script = document.createElement ("script")script.type = "text/javascript";if (script.readyState){ //IEscript.onreadystatechange = function(){if (script.readyState == "loaded" || script.readyState == "complete"){script.onreadystatechange = null;callback();}};} else { //Othersscript.onload = function(){callback();};}script.src = url;document.getElementsByTagName_r("head")[0].appendChild(script);//即插即执行
}

 

 

你可以在页面中动态加载很多JavaScript 文件,但要注意,浏览器不保证文件加载的顺序(修正:加载应该是异步同时加载,执行顺序是不确定的,很可能谁先加载完,先执行谁。)。所有主流浏
览器之中,只有Firefox 和Opera 保证脚本按照你指定的顺序执行。其他浏览器将按照服务器返回它们的次
序下载并运行不同的代码文件。你可以将下载操作串联在一起以保证他们的次序,如下:

loadScript("file1.js", function(){loadScript("file2.js", function(){loadScript("file3.js", function(){alert("All files are loaded!");});});
});        

 

javascript 动态加载按顺序加载运行 js

转载于:https://www.cnblogs.com/darr/p/5049040.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部