2014-09-01 82 views
1

我已經用純JS加載Modernizr。在純JS中加載JS文件後的回調

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加載時是否有回調函數?

回答

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(); 
    } 
};