P-0026 JavaScript から JavaScript を呼び出す
- 2000/10/25
NN 4.x では JavaScript 内で import を使って別の JavaScript を呼び出すことができますが、 IE はこの構文に対応していません。でも次のようにすると、 IE でも NN でも、スクリプトから別のスクリプトを呼び出すことができます。
document.write('<script type="text/javascript" charset="Shift_JIS" src="another.js"></script>');
タネを明かせば何のことはない、単に外部スクリプト埋め込みの記述を出力するだけのことですが、こうして外部スクリプトを埋め込んでおくと、元のスクリプトの実行完了後にそちらに処理が移り、結果として「複数スクリプトの連携」のようなことができるわけです。
使える局面は限られますが、使いようによっては色々なことができます。ちなみに、 document.write で出力する<script></script>の中に直接スクリプトを書いても動作します。
参考 : 関数を作ってしまう
当サイトでは、別ファイル呼び出しの関数を定義して使っています。
function chain(File) {
File = 'http://piro.sakura.ne.jp/common/scripts/' + File;
document.write('<script type="text/javascript" charset="Shift_JIS" src="' + File + '"></script>');
}
chain('SwitchCSS.js');
こういうものを作っておくと、ブラウザ別のスクリプトを呼びだしたり必要のないモジュールは読み込まなかったり、色々応用が利くと思います。