jsで外部jsを読み込む

HTMLなどの場合は

<script type="text/javascript" src="xxx.js"></script>

てな感じで読み込めるけど、WSHjsファイルの場合は無理(うまくやりゃできる?)


しかし、evalを使えばできるみたい。
外部ファイルtest.jsの内容が

var str = 'test';

function msg() {
    alert('hoge');
}

だとすると


読み込む側は

var xml = new ActiveXObject('microsoft.xmlhttp');
xml.open('get', 'C:\\test\\test.js', 0);
xml.send('');

eval(xml.responsetext);

alert(str); //test
msg();         //hogeと表示

にすると、外部ファイルのグローバル変数なども参照できた。
とにかくファイルの内容をevalで実行すりゃいい様子なので、拡張子はどーでもいい。


unDonutなどのapiを使ったスクリプトで、スクリプトoffの状態で外部ファイルを読み込みたい場合にも使える。

追記

普通にWSHでローカルファイルを読み込んだらエラーになった。
最初やった時出来たと思ってたけど勘違いした様子。
unDonutapiを介してたのかも。