prototype.jsを動的に読み込む「AutoLoadPrototype」というLibraryを作った。
ひとつ前のentryのPrototypeTesterで使用している。
ひとつ前のentryのPrototypeTesterで使用している。
使い方は至って簡単。
まず、AutoLoadPrototypeをincludeする。
まず、AutoLoadPrototypeをincludeする。
AutoLoadPrototypeを読み込む
<script type="text/javascript" src="AutoLoadPrototype.js"></script>
とりあえずはこれでOK。
実行すると、読み込むprototype.jsのバージョンを聞かれるので、入力すると指定されたバージョンを読み込んでくれる。
どのバージョンも読み込みたくない場合は、キャンセルすればいい。
また、includeする側で読み込むバージョンを指定する事もできる。
global変数「AUTO_LOAD_PROTOTYPE」を次のようにすれば良い。
実行すると、読み込むprototype.jsのバージョンを聞かれるので、入力すると指定されたバージョンを読み込んでくれる。
どのバージョンも読み込みたくない場合は、キャンセルすればいい。
また、includeする側で読み込むバージョンを指定する事もできる。
global変数「AUTO_LOAD_PROTOTYPE」を次のようにすれば良い。
読み込むprototype.jsのバージョンを指定
var AUTO_LOAD_PROTOTYPE=undefined; //バージョンを実行時に指定(未指定時と同様)
var AUTO_LOAD_PROTOTYPE=true; //最新バージョンを読み込む
var AUTO_LOAD_PROTOTYPE=false; //読み込みは行わない
var AUTO_LOAD_PROTOTYPE="1.6.0.2"; //バージョンを指定して読み込む
var AUTO_LOAD_PROTOTYPE=true; //最新バージョンを読み込む
var AUTO_LOAD_PROTOTYPE=false; //読み込みは行わない
var AUTO_LOAD_PROTOTYPE="1.6.0.2"; //バージョンを指定して読み込む
読み込みの有無とバージョン指定が同じ変数で制御されるのは少々行儀が悪いが、global領域をあまり汚染したくなかったため。
objectに入れるという方法もあったが、使い勝手を犠牲にしたくなかったのでこんな形に。
objectに入れるという方法もあったが、使い勝手を犠牲にしたくなかったのでこんな形に。
そもそも、prototype.jsを入れかえれば良いだけの話ではある。
しかし、実行時にバージョンを指定できたり、変数で制御できるのでアイディア次第では面白い事になりそう。
しかし、実行時にバージョンを指定できたり、変数で制御できるのでアイディア次第では面白い事になりそう。