- 222 名前:デフォルトの名無しさん mailto:sage [2006/08/12(土) 02:39:54 ]
- 今さら真面目に>>134見てみたけど、面白いねこれ。
まず、拡張子は .bat だから基本的にこれはバッチファイル。 だから引数を %* で食えるんだね。 バッチだったら "<html>" 以下は文法エラーじゃないかと一見思えるが、 その2行上でexit してる。バッチはインタプリタなので exit 以下は無視 されるので問題ない。ふむふむ。 で、このバッチが何をしているかというと、自分自身を mshta.exe の引数 に渡してる。(2行目) ここでこのファイルは HTAファイルとして mshta.exe に評価されることに なる。 じゃー今度は <html> より上の部分が文字列として表示されてしまうじゃん かというと、これはこれで<html>より上はしっかり HTML 的にコメントアウト されてる。なるほど! いやいや待ちたまえ、rem [[remove_tag]] はコメントアウトされてないじゃ ないか。その通り。 そのために ev_onload() で「"[[remove_tag]]" という文字列を含むノード は中身を空にする」って作業を入れてるわけだ。おもしろ〜い。 そこで>>134氏に2つ質問。 ・数行前にはああ書いたけど、本当は前半の <!-- --> はオマケだよね? <html>より上は1つのTextノードになるから、どっちみち ev_onload() で 除去される。 ・"[[remov"+"e_tag]]" は必要なの?<script>はElementノードだから nodeValue は null。影響ないんじゃない?
|
![](http://yomi.mobi/qr.gif)
|