有的时候需要动态加载一个javascript文件,并且在加载成功后执行回调函数(例如文件中保存了json数据之类的)。要实现这样的功能,可以使用<script> 元素的load 事件(IE9+、chrome、FireFox等)和onreadystatechange 事件(IE8以下),直接上代码:
function loadScript(src, callback) { var script = document.createElement('script'), head = document.getElementsByTagName('head')[0]; script.type = 'text/javascript'; script.charset = 'UTF-8'; script.src = src; if (script.addEventListener) { script.addEventListener('load', function () { callback(); }, false); } else if (script.attachEvent) { script.attachEvent('onreadystatechange', function () { var target = window.event.srcElement; if (target.readyState == 'loaded') { callback(); } }); } head.appendChild(script); }
调用方法示例:
loadScript('http://cdn.staticfile.org/jquery/1.6.2/jquery.min.js',function(){ console.log('onload'); });
运行后控制台输出onload,如下图所示:
上述代码感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具测试运行一下,看看运行结果如何。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript文件与目录操作技巧汇总》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》