动态同步加载JS

来源:互联网 发布:vb中文本框自动换行 编辑:程序博客网 时间:2024/05/22 05:10

Chrome、Firefox 浏览器动态同步加载JS:

// 动态同步加载jsloadcssorjs = function(filename, filetype) {if (filetype == 'css') {var fileref = document.createElement("link");fileref.rel = 'stylesheet';fileref.href = filename;} else if (filetype == 'js') {var fileref = document.createElement("script");fileref.type = 'text/javascript';// chrome、firefox同步加载、默认async=true(IE下没用)fileref.async = false;fileref.src = filename;}document.getElementsByTagName('head')[0].appendChild(fileref);}loadcssorjs('1.css','css');loadcssorjs('1.js','js');loadcssorjs('2.js','js');loadcssorjs('3.js','js');

IE下不兼容、处理方案(适用所有浏览器,使用真正意义上的同步加载)

loadJS = function(filename, fn) {var fileref = document.createElement('script');fileref.src = filename;fn = fn || function(){};fileref.onload = function() {if (!this.readState || 'loaded' === this.readyState || 'complete' === this.readyState) {fn();this.onload = null;}}document.getElementsByTagName('head')[0].appendChild(fileref);}// 同步加载 1.js -- 2.js -- 3.js -- 4.js -- 5.js -- test()loadJS('1.js',function(){loadJS('2.js',function(){loadJS('3.js',function(){loadJS('4.js',function(){loadJS('5.js',function(){// 加载完毕执行最终的回调函数test();});});});});})






0 0
原创粉丝点击