function loadScript(url, callback) { var script = document.createElement("script") script.type = "text/javascript"; if (script.readyState) { //IE script.onreadystatechange = function () { if (script.readyState == "loaded" || script.readyState == "complete") { script.onreadystatechange = null; callback(); } }; } else { //Others script.onload = function () { callback(); }; } script.src = url; document.getElementsByTagName("head")[0].appendChild(script); }
上面的函数封装了标准实现和 IE 实现所需的功能javascript
loadScript("script1.js", function(){ alert("File is loaded!"); });
您能够在页面中动态加载不少 JavaScript 文件,但要注意,浏览器不保证文件加载的顺序。全部主流浏览器之中,只有 Firefox 和 Opera 保证脚本按照您指定的顺序执行。其余浏览器将按照服务器返回它们的次序下载并运行不一样的代码文件。html
动态脚本加载是非阻塞 JavaScript 下载中最经常使用的模式,由于它能够跨浏览器,并且简单易用。java
参考:JavaScript的性能优化:加载和执行web