在纯JS中加载JS文件后回调

时间:2014-09-01 07:09:30

标签: javascript callback modernizr

我用Modern JS加载了Modernizr。

var modernizr = document.createElement('script');
modernizr.src = 'http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.2/modernizr.min.js';
modernizr.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(modernizr);

现在我想使用Modernizr.load来包含更多JS文件。加载Modernizr时是否有回调函数?

1 个答案:

答案 0 :(得分:0)

onloadonreadystatechange事件添加到对象。尽可能多的浏览器支持和黑客,它看起来像这样:

modernizr.onload = modernizr.onreadystatechange = function () {
    if (!done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) {
        done = true;

        // Handle memory leak in IE
        modernizr.onload = modernizr.onreadystatechange = null;
        if (head && modernizr.parentNode) {
            head.removeChild(modernizr);
        }

        callback();
    }
};