JavaScript

超轻量级php框架startmvc

原生JS实现动态加载js文件并在加载成功后执行回调函数的方法

更新时间:2020-07-25 08:30:01 作者:startmvc
本文实例讲述了原生JS实现动态加载js文件并在加载成功后执行回调函数的方法。分享给大

本文实例讲述了原生JS实现动态加载js文件并在加载成功后执行回调函数的方法。分享给大家供大家参考,具体如下:

有的时候需要动态加载一个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代码运行工具http://tools.jb51.net/code/HtmlJsRun测试运行一下,看看运行结果如何。

原生JS 动态加载 js文件 回调函数