JavaScriptのimport、並列ロード
並列ロード(ブロック回避)を利用して、CSSの@importみたくできるかなと。
その前に、
document.writeを利用したやつ
これをひとつのimport.jsとかにまとめて、HTMLからそいつを読み込めばOKって。以前に誰かがやっていた。
document.write('<script type="text/javascript" src="a.js" ></script>\n'); document.write('<script type="text/javascript" src="b.js" ></script>\n'); document.write('<script type="text/javascript" src="c.js" ></script>\n');
DOM経由でscript要素を生成する
複数のjsを連続で並列読み込み(IE8、safariでは実装済み)が可能となる。
もっとうまい書き方はありそう。
(function(){ var js=['a.js','b.js','c.js']; // jsファイルのパス、URL var head=document.getElementsByTagName('head')[0]; function setJs(arr){ var script=document.createElement('script'); script.type='text/javascript'; script.src=arr; head.appendChild(script); } for(var i=0,len=js.length;i<len;i++){ setJs(js[i]); } })();
これをimport.jsとして外部化。
HTMLの読み込みは1行で済む。
<head> <script type="text/javascript" src="import.js"></script> </head>