pxgrid/js-loader

loader in loader問題

Opened this issue · 2 comments

loader
.script('hoge.js')
.script('fuga.js')
.ready(function(){
loader.script('moo.js');
});

みたいなのは、IEで絶対に動かない気がしてきた。
なぜなら、IEは一連のロード監視をonreadystatechangeで行っているので、ready内は実質非同期になっており、この中でdocument.writeするとページがさっぱり書き変わる動作になってしまうため。

これを回避するにはどうするか、例えばキューのような仕組みを作って順番に実行させるようにするか・・・などなどと考えだしたら、それなら他の非同期ローダーでいいってことにならない?と思ったので、そこで止めた。

このローダーは、loaderをネストさせないでざざーっと読み込んで.readyするだけ。
それ以上の機能を求めるなら非同期ローダー使おうぜ
っていうぐらいの役割でいい気がするんだけどどうでしょ?

なるほどたしかに。そのときはready使わずに
loader
.script('hoge.js')
.script('fuga.js')
.script('init.js');

・ init.js
loader.script('moo.js');

ってやればいいのかな。

そうかもしんないすねー。
document.write最強揺るがず・・・