同期ブロックなしロードjs


同僚の分析ページはブロックロードjsに遭遇し、ページのレンダリング速度に影響を及ぼした.
以前、WYSIWYGプラグインメカニズムを実現する際にlazy loadを実現するために、同期無ブロックロードjsの方法を書いたが、解決方法は暴力的で、参考に供して、注意して、ただのdemoだった.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr"> 
  <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    <title>test</title> 
   <script type="text/javascript">
		var require = {};

		function importJS(file) {  
  
            if (typeof require[file] != "undefined") {  
                return;  
            }  
  
            require[file] = true;  
  
            var script = document.createElement("script");  
            script.type = "text/javascript";  
            script.src = file;  
  
            var callback = arguments.callee.caller;  
  
            script.onload = function() {  
                callback();  
                callback = function(){};  
            };  
  
            script.onreadystatechange = function() {  
                if(/loaded|complete/.test(this.readyState)) {  
                    callback();  
                    callback = function(){};  
                }  
            };  
  
            document.getElementsByTagName("head")[0].appendChild(script);  
  
            throw "";  
        }
   </script>
   <script type="text/javascript">
(function(){try {
	importJS('a.js'); //   a.js
	importJS('b.js'); //    b.js

	alert('c'); //    c
}catch (ex) {}})();
   </script>
  </head> 
  <body>

  </body>

  </html>

importJSを使用するjsコードは(function(){try{/*コード*/}catch(ex){}}})()に書かなければなりません.間、importJSは頭に...さもなくば繰り返し実行して、、、このdemoを書く時、ff 3の下でネストしたロードがalertがブロックできないbugが現れることを発見します
これは間違いなく良い解決方法ではなく、制限が比較的大きく、ただ無理に同期無ブロックロードを解決するだけです^^、そしてbingoの方法を参考にしました
はい、同期ブロックなしロードjsに興味のある方は、次のように拡張できます.
http://bbs.51js.com/viewthread.php?tid=72939&extra=page%3D1%26amp;filter%3Ddigest
http://www.iteye.com/topic/134964
http://jindw.iteye.com/blog/66702
http://jsvm.org/forums/2424/ShowPost.aspx#2424
友達が良い解決方法を提供することを望んでいます.