2004-03-29 [長年日記]
_ deferとWScript.Shell.Runの第3引数 (13:51)
<script type="text/javascript" defer>
var shell = new ActiveXObject("WScript.Shell");
shell.run("notepad.exe", 1, true);
alert("end");
</script>
みたいなスクリプトで、shell.runの第3引数がtrue(終了するまで待つ)になっているのが効かないのはどうしてだろう? よりローカルな設定ほど強力であるというのが一般的だと思うんだけど、defer設定は何よりも強力ってことなのかなー。あと、shell.runの前に
alert("begin");
とか入れると、"begin"自体は表示されずに、"notepad.exe"が実行され、"notepad.exe"を閉じると"end"が表示される時もあるようだ。「時もある」というのは、(タブブラウザなんかで)裏で他のウィンドウをアクティブにしたりすると、突然"end"が表示されたりすることもあって、いまいち挙動が安定しなかったりするから。
あんまりJavaScript、WSH方面に深入りする気はなかったんだけど、この辺ってやり始めると結構深そうだな。いわゆるバッドノウハウ系っぽいけど。
[ツッコミを入れる]
[TrackBack URL: http://tdiary.ishinao.net/tb.rb/20040329]

