前回のエントリでローカルディスクからのprototype.jsの読み込みを行ったが、なんとなくhttp経由もやりたくなったのでちょっと試してみた。
js>var stream = new Stream("http://localhost/prototype.js")
js>stream.readText()
あれれ、ハマったまま帰ってこないよ。
んじゃ、1行づつ読んでみるか。
js>var stream = new Stream("http://localhost/prototype.js")
js>while( ! stream.eof ) { writeln( stream.readln() ); }
/* Prototype JavaScript framework, version 1.4.0
* (c) 2005 Sam Stephenson
:
:
element = element.offsetParent;
} while (element);
return [valueL, valueT];
}
あれれれれ、最後の「}」を出力しないでハマってるよ。
prototype.jsのソース(1.4.0ね)を確認したところ、Safari対応の条件判断のifブロックを閉じた後に改行なしでEOFになっていた。
もしや、と思ってその後に改行を1つ入れたところ、2番目のコードで最後まで読み込んで制御が戻ってきた。
...って、! stream.eof が真にならないの!?
改行追加版のソースにしても、最初の stream.readText() はやはり制御を返さないし。
あと、テキスト操作のせいかわからんが、posやpositionプロパティは常に0のまま。どういうこっちゃ。
http読み出しはXHRを使うしかないな。と思ったら、XMLHttpRequestの実装、ないのか。
ってことは、ActiveX使えってか?うむ、JSDBはもう少し様子見かな...
セコメントをする